OpenCV入门 | 使用Python实现计算机视觉的第一步
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

最新活动更多
-
3月27日立即报名>> 【工程师系列】汽车电子技术在线大会
-
即日-4.22立即报名>> 【在线会议】汽车腐蚀及防护的多物理场仿真
-
4月23日立即报名>> 【在线会议】研华嵌入式核心优势,以Edge AI驱动机器视觉升级
-
4月25日立即报名>> 【线下论坛】新唐科技2025新品发布会
-
在线会议观看回放>>> AI加速卡中村田的技术创新与趋势探讨
-
即日-5.15立即报名>>> 【在线会议】安森美Hyperlux™ ID系列引领iToF技术革新
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论