当前位置: 首页 > news >正文

网站建设视频教程 百度云 天堂中文在线

网站建设视频教程 百度云, 天堂中文在线,抽奖网站怎么做的,办网站需要备案吗OpenCV入门#xff08;三#xff09;快速学会OpenCV2图像处理基础 1.颜色变换cvtColor imgproc的模块名称是由image#xff08;图像#xff09;和process#xff08;处理#xff09;两个单词的缩写组合而成的#xff0c;是重要的图像处理模块#xff0c;主要包括图像…OpenCV入门三快速学会OpenCV2图像处理基础 1.颜色变换cvtColor imgproc的模块名称是由image图像和process处理两个单词的缩写组合而成的是重要的图像处理模块主要包括图像滤波、几何变换、直方图、特征检测与目标检测等。 这个模块包含一系列的常用图像处理算法相对而言imgproc是OpenCV一个比较复杂的模块。OpenCV中的一些画图函数也属于这个模块。 颜色变换是imgproc模块中一个常用的功能。 我们生活中大多数看到的彩色图片都是RGB类型的但是在进行图像处理时需要用到灰度图、二值图、HSV、HSI等颜色制式OpenCV提供了cvtColor()函数来实现这些功能。 这个函数用来进行颜色空间的转换随着OpenCV版本的升级对于颜色空间种类的支持越来越多涉及不同颜色空间之间的转换比如RGB和灰度的互转、RGB和HSV六角锥体模型这个模型中颜色的参数分别是色调H、饱和度S、明度V的互转等。 cvtColor函数声明如下 cvtColor(src, code[, dst[, dstCn]])其中 参数src表示输入图像即要进行颜色空间变换的原图像可以是数组矩阵 code表示颜色空间转换代码即在此确定将什么制式的图片转换成什么制式的图片dst表示输出与src相同大小和深度的图像即进行颜色空间变换后存储图像 dstCn表示目标图像通道数默认取值为0如果参数为0则从src和代码自动获得通道的数量。 函数cvtColor的作用是将一个图像从一个颜色空间转换到另一个颜色空间但是从RGB向其他类型转换时必须明确指出图像的颜色通道。 值得注意的是在OpenCV中其默认的颜色制式排列是BGR而非RGB。对于24位颜色图像来说前8位是蓝色中间8位是绿色最后8位是红色。 需要注意的是cvtColor函数不能直接将RGB图像转换为二值图像需要借助threshold函数。 另外如果对8-bit图像使用cvtColor()函数进行转换将会丢失一些信息。我们常用的颜色空间转换有两种将BGR转换为Gray或HSV。 下面看一个例子将图片转换为灰度图和HSV。 import cv2#将图片转换为灰度图src_image cv2.imread(test.jpg)gray_image cv2.cvtColor(src_image, cv2.COLOR_BGR2GRAY)#将图片转换为HSVhsv_image cv2.cvtColor(src_image, cv2.COLOR_BGR2HSV)cv2.imshow(src_image, src_image)cv2.imshow(gray_image, gray_image)cv2.imshow(hsv_image, hsv_image)cv2.waitKey(0)首先读取工程目录下的图片test.jpg然后调用cvtColor函数将原图转为灰度图再调用cvtColor函数将原图转为HSV图最后将3幅图片显示出来。 运行实例结果如图所示。 2.截取图像 2.1切片和索引 现在我们把磁盘上的一幅图片文件读到内存中比如 img cv.imread(p1.jpg); #读取一幅图片实际上是一个NumPy包的array数组它包含着每个像素点的数据。因此熟悉NumPy是操作图像数据的基础。NumPy是Python中用于数据分析、机器学习、科学计算的重要软件包。它极大地简化了向量和矩阵的操作及处理。Python中的不少数据处理软件包依赖于NumPy作为其基础架构的核心部分例如scikit-learn、SciPy、Pandas和TensorFlow NumPy包提供了两种基本对象ndarrayN维数组和func通用函数。ndarray数组用来存放相同数据类型的多维数组func是可以对数组进行运算处理的函数。 ndarray对象的内容可以通过索引或切片来访问和修改与Python中list的切片操作一样。ndarray数组可以基于0n的下标进行索引切片对象可以通过内置的slice函数并设置start、stop及step参数进行从原数组中切割出一个新数组。比如 a np.arange(10)s slice(2,7,2) #从索引2开始到索引7停止间隔为2print (a[s])输出结果为[2 4 6]。 在以上实例中首先通过arange()函数创建ndarray对象。然后分别设置起始、终止和步长的参数为2、7、2。我们也可以通过冒号分隔切片参数start:stop:step来进行切片操作 a np.arange(10)b a[2:7:2] #从索引2开始到索引7停止间隔为2print(b)输出结果为[2 4 6]。 其中有关冒号的解释是如果只放置一个参数如[2]就将返回与该索引相对应的单个元素如果为[2:]就表示从该索引开始以后的所有项都将被提取如果使用了两个参数如[2:7]那么提取两个索引不包括停止索引之间的项。 比如 a np.arange(10) # [0 1 2 3 4 5 6 7 8 9]b a[5]print(b)输出结果为5。 比如 a np.arange(10)print(a[2:])输出结果为[2 3 4 5 6 7 8 9]。 再比如 a np.arange(10) # [0 1 2 3 4 5 6 7 8 9]print(a[2:5])输出结果为[2 3 4]。 多维数组同样适用上述索引提取方法 a np.array([[1,2,3],[3,4,5],[4,5,6]])print(a)#从某个索引处开始切割print(从数组索引 a[1:] 处开始切割)print(a[1:])输出结果为 [[1 2 3][3 4 5][4 5 6]]从数组索引 a[1:] 处开始切割[[3 4 5][4 5 6]]由于图像是数组形式所以我们可以用切片进行截取图像代码如下 import cv2#将图片转换成灰度图 src_image cv2.imread(test.jpg) print(src_image) imgsrc_image[20:100,20:250] cv2.imshow(cut,img) cv2.waitKey(0) cv2.destoryAllWindos() 输出结果: 3.获取颜色通道 cv2.split可以帮助我们获取不同颜色通道。 声明如下 cv2.split(img)实例代码 # 获取颜色通道 img cv2.imread(picture.jpg) # 读取图片 b, g, r cv2.split(img) # 分割颜色通道 print(r.shape, g.shape, b.shape) # 调试输出 输出结果 (1263, 1920) (1263, 1920) (1263, 1920) 4.单通道显示 实例代码 import cv2 src_image cv2.imread(test.jpg) cur_imgsrc_image.copy()#深拷贝 cur_img[:, :, 0] 0 # B通道设置为0 cur_img[:, :, 1] 0 # G通道设置为0 cv2.imshow(B channel, cur_img) # 图片展示 cv2.waitKey(0) cv2.destoryAllWindos() 输出结果
http://www.dnsts.com.cn/news/156406.html

相关文章:

  • net做网站遇到的问题电子商务网站建设需要学什么软件
  • 广州移动网站开发电子商务网站建设期末试卷答案
  • 网站页面设置手机版建筑设计网页
  • 大兴智能网站建设哪家好打广告的平台
  • 建营销型网站优化营商环境条例全文
  • 安全狗iis版删了以后 网站打不开wordpress中文备份插件
  • 自己怎么做装修网站宁波品牌策划公司
  • 如何建一个商业网站课程网站建设的财务分析
  • 网站有做货wordpress如何设置关键词和描述
  • 惠州做网站的公司阿里巴巴网站建设销售
  • pc网站建设有什么功能软件平台化
  • 北京网站建设百度排名调查网站怎么做
  • 网站关键词在哪个人网站推广
  • 精通网站建设 百度云广告设计专业技能有哪些
  • wordpress站点运行时间好的网站搭建公司
  • 怎么做论坛社区网站营销型网站设计分析案例
  • 建设银行流水账网站查询仿起点小说网站开发
  • 东莞个人做网站wordpress 封包apk
  • 硅藻泥网站怎么做工程公司排名
  • 八里河风景区网站建设设计概述网站建设开发哪个好学
  • 如何用ftp上传文件到网站网站建设 微信营销
  • 网站推广营销方法网站建设 推广薪资
  • 效能建设网站3d建模师的就业前景
  • 宣传商务型的网站制作网站需要注意的细节
  • 登不上建设企业网站正规的男科医院排名
  • 任丘网站开发建设怎么选网站数据库密码修改了要怎么做
  • 公司网站推广计划书专门卖建筑材料的网站
  • 国内规模大的建站公司seo也成搜索引擎优化
  • 品牌网站设计公司价格自己做的网站改变字体
  • asp手机网站自动跳转广州响应式网站开发