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
最新活动更多
-
5月10日立即下载>> 【是德科技】精选《汽车 SerDes 发射机测试》白皮书
-
5月28日立即观看>> 【在线研讨会】Ansys镜头点胶可靠性技术及方案
-
5月31日立即报名>> 【线下论坛】新唐科技2024未来创新峰会
-
6月18日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
8月27-29日马上报名>>> 2024(第五届)全球数字经济产业大会暨展览会
-
8月27日立即报名>>> 2024先进激光技术博览展
推荐专题
-
1 钉钉自己挤上牌桌
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论