OpenCV常用基本处理函数(2)图像基本操作
2024-09-02 14:21:34
可以根据像素的行和列的坐标获取他的像素值。对 BGR 图像而言,返回值为 B,G,R
例如获取蓝色的像素值:
img=cv2.imread('messi5.jpg')
px=img[100,100]
blue=img[100,100,0]
获取图像属性
图像的属性包括:行,列,通道,图像数据类型,像素数目等img.shape 可以获取图像的形状。他的返回值是一个包含行数,列数,通道数的元组。
import cv2
import numpy as np
img=cv2.imread('messi5.jpg')
print(img.shape)
##(342, 548, 3)
图像的roi感兴趣区域
下面的代码是首先把球在图中的区域作为感兴趣的区域从图片中分离出来,然后再复制图片的另一区域,效果如图所示;
import cv2
import numpy as np
img=cv2.imread('messi5.jpg')
ball=img[280:340,330:390]
img[273:333,100:160]=ball
img=cv2.imshow('test', img)
cv2.waitKey(0)
拆分图像的三个通道
通过对图片的属性的第三个值来分离;
import cv2
import numpy as np
img=cv2.imread('/home/duan/workspace/opencv/images/roi.jpg')
b=img[:,:,0]
图像的扩充填边
cv2.copyMakeBorder()函数。这经常在卷积运算或 0 填充时被用到,参数等使用的时候再理解
图像加法
你可以使用函数 cv2.add() 将两幅图像进行加法运算,建议使用opencv的加法操作;
图像混合
这其实也是加法,但是不同的是两幅图像的权重不同
函数 cv2.addWeighted() 可以对图片进行混合操作
参考自:https://www.cnblogs.com/Undo-self-blog/p/8424220.html
最新文章
- 使用Bandwagon的VPS第一件事《FQ》
- 【转】Pycharm的激活
- 利用jQuery内置的data()方法存储数据
- CSS3动画处理浏览器内核时候前缀(兼容性)
- Linux架构
- 你会用Python做出装逼的东西吗
- Difference between SET, SETQ and SETF in LISP
- SharePoint中Event Handler的触发
- (转)約瑟夫問題的兩個O(log n)解法
- SystemConfig.getPropertyValue(";test";);配置文件已经加了test=abc,但是取得时候空字符串
- Java模拟新浪微博登陆抓取数据
- Java中高级面试题
- Python+ITchart实现微信中男女比例,城市分布统计并可视化显示
- bzoj1791[IOI2008]Island岛屿(基环树+DP)
- 使用Rancher的RKE快速部署Kubernetes集群
- Java的起源和发展
- 【大数据】SparkCore学习笔记
- 黑吃黑第一季/全集Banshee迅雷下载
- activemq.bat 在window7 x64下启动(安装)报错解决方案
- MyBatis For .NET学习-问题总结
热门文章
- struts2的作用是什么
- Vue----渐进式框架的理解
- hihocoder 1014: Trie树(Trie树模板题)
- boost location-independent times
- SimpleDateFormat线程不安全原因及解决方案
- 线程join方法demo-模拟叫号看病
- FPGA学习的一些误区
- static、final修饰的变量和方法能否被继承的问题
- Majordomo Info VGER.KERNEL.ORG
- Class-DbConnectionManipulator:Execute,QueryFirstDefault<;>;