订阅
纠错
加入自媒体

OpenCV入门 | 使用Python实现计算机视觉的第一步

2020-08-06 10:07
磐创AI
关注

HSV:色调、饱和度和明度。这种格式适用于色调,因此很容易过滤颜色——这意味着,我们可以使用角度范围,而不必计算红色、绿色和蓝色之间的组合范围。

我们可以用Numpy来定义HSV的上下边界。应用函数.inRange过滤这些值,并创建一个掩码,然后我们可以使用.bitwise_and在饱和状态下应用这个掩码,它会使边界以外的一切都变成零。换句话说:我们可以过滤一些颜色,然后将其余所有颜色设置为灰度。# read img and convert to HSVimg = cv2.imread('img2.jpeg')img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)# split dimensionsH, S, V = cv2.split(img)# upper and lower boundarieslower = np.array([80, 0, 0]) upper = np.array([120, 255, 255])# build maskmask = cv2.inRange(img, lower, upper)# apply mask to saturationS = cv2.bitwise_and(S, S, mask=mask)# assemble imageimg = cv2.merge([H, S, V])# convert to RGB and displayimg = cv2.cvtColor(img, cv2.COLOR_HSV2RGB)show(img)

分割图像也可以让我们更容易地检测它的构图。我们可以从RGB绘制颜色,从HSV绘制饱和度,或任何其他我们想要的通道。img = cv2.imread('img2.jpeg')B, G, R = cv2.split(img) show(B)
img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)H, S, V = cv2.split(img)show(S)

使用“灰色”色图时,值从白色(低)到黑色(高)。通过查看第一张map图,我们可以看出,地面上的蓝色强度高于建筑物中的蓝色强度,并且通过饱和度图可以看出,滑板周围的值高于图像中其他部分的值。本文我们探索了如何加载和显示图片,如何将数组转换为不同的颜色格式以及如何访问,修改和过滤通道。资源:OpenCV读取图像;https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_image_display/py_image_display.htmlOpenCV颜色转换;https://docs.opencv.org/3.4/de/d25/imgproc_color_conversions.htmlMatplotlib显示图像;https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html数组上的OpenCV操作;https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.htmlOpenCV基本操作;https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_core/py_basic_ops/py_basic_ops.html参考链接:https://towardsdatascience.com/getting-started-with-opencv-249e86bd4293

<上一页  1  2  3  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号