opencv与numpy图像的基本操作方法是什么


本文小编为大家详细介绍“opencv与numpy图像的基本操作方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“opencv与numpy图像的基本操作方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 像素基本操作
1.1 读取、修改像素可以通过[行,列]坐标来访问像素点数据,对于多通道数据,返回一个数组,包含所有通道的值,对于单通道数据(如gray),返回指定坐标的值,也可以通过 [行,列,通道index] 来访问某坐标某通道的值。可以直接通过坐标修改像素值然而直接像上面这样去读取、修改每个像素的值,效率是比较低的,可以使用下面的方法,效率是更高的1.2 读取图像属性读取图像尺寸,返回一个元组 (行,列,通道数)读取像素大小, 行通道数像素数据类型1.3 图像ROI操作可以直接编辑像素区域,例如把图像左下角50*50的像素复制到左上角1.4 分割、合并免费云主机域名通道有些情况下需要对图像的某一通道数据进行操作,此时会用到分割、合并通道数据或者假设想编辑红色通道的数据,全部设置为0,不需要这样分割后编辑,img[:,:,2] = 0这样即可。cv2.split操作是一个很耗时的操作,可以用numpy索引替代的操作,尽量用numpy索引来做。1.4 生成图像边框使用cv2.copyMakeBorder函数可添加图像边框,支持多种边框算法上面的例子可以比较直观的看到各种border的效果,同时也能发现,python版的api与cpp版本的相比,默认初始化了一块原始图尺寸+各方向边框尺寸的图像内存,作为内置的dst参数。输出尺寸:(525, 700, 3) (725, 900, 3)2. 图像的基本算术操作2.1 图像相加图像相加,两个图像应该有相同的shape,或者图像和一个标量相加,或者图像和一个与其通道数相同的一维数组相加。opencv的相加与numpy相加时,在超出数据类型范围时的处理不同cpp版本的api还支持mask等参数2.2 图像混合opencv通过cv::addWeighted函数提供了将两个图像混合在一起的方法dst=⋅img1+⋅img2+通过cv2.seamlessClone函数还能做更精细的图像局部融合。读到这里,这篇“opencv与numpy图像的基本操作方法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: thinkphp如何修改数据库

这篇文章主要介绍“thinkphp如何修改数据库”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“thinkphp如何修改数据库”文章能帮助大家解决问题。 一、ThinkPHP数据库操作在ThinkPHP中,我们可以通过它…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/27 19:21
下一篇 07/27 19:21

相关推荐