您好,登录后才能下订单哦!
这篇文章主要介绍python+opencv3如何生成一个自定义纯色图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、
图像在计算机中存储为矩阵。矩阵上一个点表示一个像素。若矩阵由一系列0~255的整数值组成,则表现为灰度图。便于理解,以下贴出代码:
import cv2 import numpy as np img = np.ones((3,3),dtype=np.uint8)#random.random()方法后面不能加数据类型 #img = np.random.random((3,3)) #生成随机数都是小数无法转化颜色,无法调用cv2.cvtColor函数 img[0,0]=100 img[0,1]=150 img[0,2]=255 cv2.imshow('img',img) cv2.waitKey(0)
运行以上代码的效果为:
img[0,0]表示矩阵第一行第一列的元素,其值为100。以此类推。由图可以看出,值越大,灰度越小,显示越接近白色。(也可以理解为亮地越多。0表示啥也不亮,黑色;255表示全亮,白色)
二、
以上是单通道的效果,接下来将上图转化为3通道BGR图 ,每一个像素点由一个三元数组表示。其中bgr_img[]0,0,0]表示第一行(y)第一列(x)B通道的值;bgr_img[100,200,1]表示第101行(y)第201列(x)G通道的值。
注:第三个参数表示BGR通道,取值范围为0~2
便于理解,以下贴出代码:
bgr_img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR) cv2.imshow('bgr_img',bgr_img) bgr_img[:,:,0] = 0 bgr_img[:,:,1] = 255 bgr_img[:,:,2] = 255 cv2.imshow('bgr_img2',bgr_img) cv2.waitKey(0)
以上代码和第一部分结合起来运行,运行后效果如下:
以上是“python+opencv3如何生成一个自定义纯色图”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。