/* code block */
반응형

import cv2

img_source = cv2.imread('img/paper.jpg',0)

ret,img_result1 = cv2.threshold(img_source, 127, 255, cv2.THRESH_BINARY)
cv2.imshow('result1', img_result1)
cv2.waitKey(0)

ret,img_result2 = cv2.threshold(img_source, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
#THRESH_OTSU 적용. 임계값 인자를 0으로 해야 한다
cv2.imshow('result2', img_result2)
cv2.waitKey(0)

img_blur = cv2.GaussianBlur(img_source, (5,5), 0)
#가우시안 필터 적용
ret, img_result3 = cv2.threshold(img_blur, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
cv2.imshow('result3', img_result3)
cv2.waitKey(0)
#노이즈가 제거된다


cv2.destroyAllWindows()

반응형

'Python > OpenCV' 카테고리의 다른 글

BGR 색상을 HSV로 변환하기  (0) 2019.06.30
동영상을 Thresholding으로 이진화  (0) 2019.06.30
Adaptive Threshold  (0) 2019.06.30
Threshold 함수를 이용한 이진화  (0) 2019.06.30
카메라 영상 출력하기  (0) 2019.06.30
반응형

import cv2



img_color = cv2.imread('img/paper.jpg', 0)

cv2.imshow('Color', img_color)
cv2.waitKey(0)

ret, img_binary = cv2.threshold(img_color, 127,255, cv2.THRESH_BINARY)

cv2.imshow('Binary', img_binary)
cv2.waitKey(0)

img_result2 = cv2.adaptiveThreshold(img_color, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 21, 5)
#세번째 인자 적응형 이진화
#다섯번째 인자는 임계값 계산 시 함께 볼 주변 픽셀의 범위를 블럭 크기로 지정.
#여섯번째 인자는 평균 또는 가중평균에서 뺄 값
cv2.imshow('Adaptive1',img_result2)
cv2.waitKey(0)


img_result3 = cv2.adaptiveThreshold(img_color, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 21, 5)
#세번째 인자 가우시안 이진화
cv2.imshow('Adaptive2',img_result3)
cv2.waitKey(0)

img_result4 = cv2.adaptiveThreshold(img_result2, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 21, 5)
cv2.imshow('Adaptive3',img_result4)
cv2.waitKey(0)





cv2.destroyAllWindows()

반응형

'Python > OpenCV' 카테고리의 다른 글

BGR 색상을 HSV로 변환하기  (0) 2019.06.30
동영상을 Thresholding으로 이진화  (0) 2019.06.30
OTSU로 노이즈 제거  (0) 2019.06.30
Threshold 함수를 이용한 이진화  (0) 2019.06.30
카메라 영상 출력하기  (0) 2019.06.30
반응형

import cv2

def nothing(x):
pass
#더미함수. 사용하진 않지만 트랙바 생성 시 필요함

cv2.namedWindow('Binary') #'Binary' 위도우에 트랙바를 붙인다
cv2.createTrackbar('threshold','Binary',0,255,nothing)
cv2.setTrackbarPos('threshold','Binary',205) #직접 트랙바 조정해보고 초기값 수정.

img_color = cv2.imread('img/ball.jpg', cv2.IMREAD_COLOR)

cv2.imshow('Color', img_color)
cv2.waitKey(0)

img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)

cv2.imshow('Gray', img_gray)
cv2.waitKey(0)

ret,img_binary2 = cv2.threshold(img_color, 127, 255, cv2.THRESH_BINARY_INV)

cv2.imshow("Binary2", img_binary2)
cv2.waitKey(0)

while True:
low =cv2.getTrackbarPos('threshold','Binary')

ret,img_binary = cv2.threshold(img_gray, low, 255, cv2.THRESH_BINARY_INV) #트랙바에서 받아온 값으로 임계값 설정 (low)

cv2.imshow("Binary", img_binary)
if cv2.waitKey(1)&0XFF == 27:
break




cv2.destroyAllWindows()

반응형

'Python > OpenCV' 카테고리의 다른 글

BGR 색상을 HSV로 변환하기  (0) 2019.06.30
동영상을 Thresholding으로 이진화  (0) 2019.06.30
OTSU로 노이즈 제거  (0) 2019.06.30
Adaptive Threshold  (0) 2019.06.30
카메라 영상 출력하기  (0) 2019.06.30
반응형
import cv2

capture = cv2.VideoCapture(0) 

#0번 카메라를 사용한다는 의미. 노트북 내장 카메라의 경우 0번이다. 외장 카메라를 추가한다면 1~n번의 번호가 정해진다.

capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) #영상의 너비와 높이를 설정한다.

while True:  
ret, frame = capture.read()
cv2.imshow("VideoFrame", frame)
if cv2.waitKey(1) > 0: break

 

#반복문 내에서 현재 프레임(frame 변수에 저장)을 계속 출력해준다. ret에는 카메라 작동 상태(True, False)가 저장된다.

# cv2.waitKey(time)으로 time마다 키 입력값을 받아온다. 키 입력 시 반복문을 탈출(break)

 

capture.release()
cv2.destroyAllWindows()

#카메라가 받아온 메모리를 해제하고 모든 윈도우 창을 닫는다.

 

반응형

'Python > OpenCV' 카테고리의 다른 글

BGR 색상을 HSV로 변환하기  (0) 2019.06.30
동영상을 Thresholding으로 이진화  (0) 2019.06.30
OTSU로 노이즈 제거  (0) 2019.06.30
Adaptive Threshold  (0) 2019.06.30
Threshold 함수를 이용한 이진화  (0) 2019.06.30

+ Recent posts