😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[Python 으둜 μ˜μƒμ²˜λ¦¬ (2)] 이진화 λ³Έλ¬Έ

πŸ‘©‍πŸ’» IoT (Embedded)/Image Processing

[Python 으둜 μ˜μƒμ²˜λ¦¬ (2)] 이진화

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 12. 28. 10:43
728x90
λ°˜μ‘ν˜•

πŸ’— threshold 둜 tone μ‘°μ •ν•˜κΈ°

import numpy as np

def two_tone(img, threshold=128):
    output = (img > threshold) * 255
    return output.astype(np.uint8)
import cv2
img = cv2.imread("images/lena.jpg", 0)

# 100 μ΄ν•˜λ©΄ 0 black, 100 이상이면 255 white
new_img = two_tone(img, threshold=100)
cv2.imwrite('lena_bin.jpg', new_img)
cv2.imshow('img', new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

πŸ’— threshold 둜 μ‹€μ‹œκ°„ webcam tone μ‘°μ •ν•˜κΈ° (BUT,, λ‚˜λŠ” 캑처둜 λœλ‹€)

import cv2
cap = cv2.VideoCapture(0)

if cap.isOpened():
    print(cap.get(cv2.CAP_PROP_FPS))
    delay = int(1000 / cap.get(cv2.CAP_PROP_FPS))
    while True:
        ret, img = cap.read()
        if ret:
            # 100 μ΄ν•˜λ©΄ 0 black, 100 이상이면 255 white
            new_img = two_tone(img, threshold=100)
            cv2.imwrite('lena_bin.jpg', new_img)
            cv2.imshow('img', new_img)
            cv2.waitKey(0)
            cv2.destroyAllWindows()
            if cv2.waitKey(delay) & 0xFF == 27 : # ESCν‚€
                print("ESC Key pressed")
                break
        else:
            print("No Frame")
            print(ret, img)
            break
        
else:
    print("File not opened")

 

 

728x90
λ°˜μ‘ν˜•
Comments