Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2020-1-capstone-design1
/
HEN_Project2
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
이재빈
2020-04-13 17:32:35 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a0d692915c4ce52aa7d4e26472a07f5498bf7c1b
a0d69291
1 parent
e7b954f4
Text Detect Module
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
65 additions
and
0 deletions
VideoProcessingModule/src/TextDetection.py
VideoProcessingModule/src/TextDetection.py
0 → 100644
View file @
a0d6929
import
cv2
import
numpy
as
np
import
time
fname
=
"./croppedimg/"
def
bboxes
(
inp
):
#Frame을 인자로 전달받음
img
=
inp
start
=
time
.
time
()
index
=
0
# img2gray = cv2.imread(fname,0)
# img = cv2.namedWindow(img,cv2.WINDOW_NORMAL)
# img = cv2.resizeWindow(img,600,600)
img_final
=
inp
# img_final = cv2.namedWindow(fname,cv2.WINDOW_NORMAL)
# img_final = cv2.resizeWindow(fname,600,600)
img2gray
=
cv2
.
cvtColor
(
inp
,
cv2
.
COLOR_BGR2GRAY
)
#GRAY Image 8bit per pixel
ret
,
mask
=
cv2
.
threshold
(
img2gray
,
180
,
255
,
cv2
.
THRESH_BINARY
)
#threshold : distinguish background, object
image_final
=
cv2
.
bitwise_and
(
img2gray
,
img2gray
,
mask
=
mask
)
#bitwise
ret
,
new_img
=
cv2
.
threshold
(
img_final
,
180
,
255
,
cv2
.
THRESH_BINARY
)
# Nfor black text , cv.THRESH_BINARY_IV
newimg
=
cv2
.
cvtColor
(
new_img
,
cv2
.
COLOR_BGR2GRAY
)
#Gray Image converting
# remove noise from image
kernel
=
cv2
.
getStructuringElement
(
cv2
.
MORPH_CROSS
,
(
5
,
1
))
# to manipulate the orientation of dilution , large x means horizonatally dilating more, large y means vertically dilating more
dilated
=
cv2
.
dilate
(
newimg
,
kernel
,
iterations
=
3
)
# dilate
_
,
contours
,
_
=
cv2
.
findContours
(
dilated
,
cv2
.
RETR_EXTERNAL
,
cv2
.
CHAIN_APPROX_NONE
)
# get contours
#cv2.CHAIN_APPROX_NONE: 모든 컨투어 포인트를 반환
for
contour
in
contours
:
# get rectangle bounding contour
[
x
,
y
,
w
,
h
]
=
cv2
.
boundingRect
(
contour
)
# remove small false positives that aren't text
# text인식하기. width, height
if
w
<
80
and
h
<
80
:
continue
if
h
/
w
>
9.0
or
w
/
h
>
9.0
:
continue
# draw rectangle around contour on original image
cv2
.
rectangle
(
img
,
(
x
,
y
),
(
x
+
w
,
y
+
h
),
(
0
,
0
,
255
),
3
)
# 이미지 주변 시작좌표를 기준으로 사각형틀그리기
cropped
=
img_final
[
y
:
y
+
h
,
x
:
x
+
w
]
s
=
fname
+
"Text"
+
str
(
index
)
+
'.jpg'
cv2
.
imwrite
(
s
,
cropped
)
if
(
index
%
10
==
0
):
cv2
.
imwrite
(
s
,
cropped
)
print
(
"[Processing time ]:"
,
time
.
time
()
-
start
)
if
(
index
>
20
):
index
=
0
index
=
index
+
1
# write original image with added contours to disk
imgres
=
cv2
.
resize
(
img
,
(
320
,
240
))
cv2
.
imshow
(
'captcha_result'
,
imgres
)
cap
=
cv2
.
VideoCapture
(
0
)
#동영상 파일 읽어옴
while
(
cap
.
isOpened
()):
ret
,
inp
=
cap
.
read
()
#프레임을 읽어옴, 읽어온 프레임을 인자로 bboxes 전달
if
(
ret
):
#success boolean
bboxes
(
inp
)
if
cv2
.
waitKey
(
1
)
&
0xFF
==
ord
(
'q'
):
print
(
"Terminate Process.."
)
break
cap
.
release
()
#파일 닫아줌
\ No newline at end of file
Please
register
or
login
to post a comment