Python-OpenCV-二值化以隔离与背景颜色相同的对象

时间:2018-11-05 01:49:54

标签: python-3.x image opencv signal-processing

我需要在下面的图像中分离硬纸板目标并将其二值化,以使目标为白色,背景为黑色。通常,这不是问题,但是背景几乎与目标颜色完全相同。

尝试:

# LOAD IMAGE
img_filepath = 'real_6.png'
img = cv2.imread( img_filepath )
rgb_img = img[:,:,::-1]
plt.imshow( rgb_img )
plt.title('ORIGINAL')
plt.show()

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

# SMOOTH
blur_kernel = np.ones((5,5),np.float32)/30
blur_img = cv2.filter2D( rgb_img, -1, blur_kernel )

# THRESHOLD 
lower_color_rng = np.array( [100,50,100] )
upper_color_rng = np.array( [255,255,255] )
target_keyholes_img = cv2.inRange( blur_img, lower_color_rng, upper_color_rng )
plt.imshow( target_keyholes_img, cmap='gray' )
plt.title( 'THRESHOLD' )
plt.show()

Attempted Image Extraction

如何在Python 3中使用OpenCV对图像进行二值化?

Original Image

0 个答案:

没有答案