我正在使用、python3、和图像处理库(如OpenCV )开发企业徽标图像搜索系统。
到目前为止,我已经成功地从给定的图像中提取了单个对象,这些对象被提取为二进制图像,因此它们可以很容易地用作掩码。
这是通过K-对图像进行聚类,使用具有4种连通性的cv2.connectedComponents,然后应用分水岭来分离对象。
# Making a binary version of the kmeans clustered image
gray = cv2.cvtColor(masked_image, cv2.COLOR_BGR2GRAY);
_, binary = cv2.threshold(
我有一张图片,如附图所示。有时,数字的黑色强度与它们的相邻像素没有太大的差别,我很难提取这些数字(例如,设置阈值是不有效的,因为黑色的亮度接近灰度的强度,因为反射或在图像捕获过程中不能很好地聚焦)。我喜欢在黑色和背景灰色之间做更多的区别,这样我就可以在没有太多噪声的情况下提取数字。我所做的是增加使用addWeighted函数与OpenCV函数之间的差异。color是原始的RGB图像。这对我的处理是否有意义,还是有更有效的方法?
Mat blur_img = new Mat(color.size(), color.type());
org.opencv.core.Size size = new