本文主要是介绍python+opencv处理颜色之将目标颜色转换实例代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope...
目标:将红色的部分滤出,转化为绿色
下面是代码+ 效果 + 解释
import cv2 import numpy as np def dectfun(frame): # Convert the frame to HSV color space hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # Define the range for red color in HSV lower_red1 = np.array([0, 120, 70]) upper_red1 = np.array([10, 255, 255]) lower_red2 = np.array([170, 120, 70]) upper_red2 = np.array([180, 255, 255]) # Create a mask for re编程d color mask1 = cv2.inRange(hsv, lower_red1, upper_red1) mask2 = cv2.inRange(hsv, lower_red2, upper_red2) mask = mask1 + mask2 # Create an output image to show the detected red rjavascriptegions in green result = frame.copy() result[mask > 0] = [0, 255, 0] # Change red regions to green return result def main(): # Open the webcam cap = cv2.VideoCapture(1) while True: # Read a frame ret, frame = cap.read() if not ret: break # Detect red regions and highlight them result = dectfun(frame) # Display the result cv2.imshow("Frame", result) if cv2.waitKey(1) & 0xFF == ord('q'): break # Release the webcam and close all Windows cap.release() cv2.destroyAllWindows() if __name__ == "__main__": main()
转HSV: 关于颜色总是要转HSV的
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
掩膜
lower_red1 = np.array([0, 120, 70]) upper_red1 = np.array([10, 255, 255]) lower_red2 = np.array([170China编程, 120, 70]) upper_red2 = np.array([180, 255, 255]) # Create a mask for red color mask1 = cv2.inRange(hsv, lower_red1, upper_red1) mask2 = cv2.inRange(hsv, lower_red2, upper_red2) mask = mask1 + mask2
在这段代码中,mask 是一个数组。具体来说,它是一个二值图像(即一个包含0和255的数组),表示在HSV颜色空间中红色区域的掩膜。 在掩膜区域内的是我们的目标lower_red1, upper_red1
标注是255 其余是0
再标注
# Create an output image to show the detected red regions in green result = frame.copy() result[mask > 0] = [0, 255, 0] # Change red regions to green return result
result = frame.copy()
在python中,变量通常是引用类型,如果你在函数中直接修改传入的数组或对象,它们的值会永久改变。result[mask > 0] = [0, 255, 0]
这是个巧妙的句子,当mask的对应位置上的值大于零。 然后把result 对应位置上的像素改成绿色
总结
到此这篇关于python+opencv处理颜色之将目标颜色转换的文章就介绍到这了,更多相关python opencv目标颜色转换内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.China编程chinasem.cn)!
这篇关于python+opencv处理颜色之将目标颜色转换实例代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!