OpenCV在图像上绘制黑色像素

Ajinkya

我有一个类似的输入图像

在此处输入图片说明

我指的是:如何在检测Canny边缘后填补字母中的空白

我想在此图像上绘制黑色像素。针对上述网址提出的解决方案是,首先使用

import matplotlib.pyplot as pp
import numpy as np

image = pp.imread(r'/home/cris/tmp/Zuv3p.jpg')
bin = np.all(image<100, axis=2)

我的问题是我是否在忽略所有其他颜色通道的同时在图像上绘制此黑色像素(数据存储在bin中)。

京东

答案中指出,该参数np.all(image<100, axis=2)用于选择R,G和B均小于100的像素,这基本上是颜色分离。就个人而言,我喜欢使用HSV色彩空间。

结果:

在此处输入图片说明

注意:如果要改善绿色字母,最好为此创建一个单独的蒙版,并调整绿色的hsv值。

码:

    import numpy as np 
    import cv2
    # load image
    img = cv2.imread("img.jpg")

     # Convert BGR to HSV
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    # define range of black color in HSV
    lower_val = np.array([0,0,0])
    upper_val = np.array([179,255,127])

    # Threshold the HSV image to get only black colors
    mask = cv2.inRange(hsv, lower_val, upper_val)

    # invert mask to get black symbols on white background
    mask_inv = cv2.bitwise_not(mask)

    # display image
    cv2.imshow("Mask", mask_inv)
    cv2.imshow("Img", img)

    cv2.waitKey(0)
    cv2.destroyAllWindows()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在黑色图像上绘制斑点

使用OpenCV Python,如何使所有黑色像素透明,然后将其覆盖在原始图像上

如何在opencv上计算直方图而不考虑图像上的所有黑色像素(由于遮罩)

在python中有黑色像素的图像周围绘制框

来自像素图的Libgdx图像被绘制为纯黑色

提取的圆的像素坐标(使用 scikit 图像)偏离在图像上绘制的圆的实际位置(使用 openCV)

使用OpenCV计算Python中图像中黑色像素的数量

在OpenCV / numpy中阈值图像为黑色的地方应用原始图像像素?

如何在图像的黑色区域上绘制绿线?

如何使用python和opencv在图像上绘制两个轮廓,给定它们之间的轮廓距离为100像素

使用C ++(OpenCV)删除所有黑色像素并仅获取所需的图像

使用python opencv将二进制图像中的黑色像素转换为红色

使用 Opencv。如何增加用黑色(0)填充新像素的图像的大小?

使用python绘制每行黑色像素的数量

尝试从画布上的像素阵列绘制图像

如何在灰度图像上绘制彩色像素?

图像上像素(X,Y)的颜色强度[OpenCV / Python]

在Python中使用OpenCV将图像与另一个包含黑色像素的非矩形图像重叠

java缓冲图像:检测黑色像素

查找图像中连续的黑色像素

随黑色图像移动的绿色闪烁像素

用黑色像素掩盖图像的某个区域

如何去除字符图像内的黑色像素

Python:查找图像中黑色像素的数量

matchTemplate之后的opencv黑色图像

opencv打印怪异的黑色图像

OpenCV函数合并Mat的像素(黑色/透明像素除外)

PIL图像打开会将白色像素变成黑色像素

在 QPixmap 上绘制的奇怪像素