opencv学习笔记2
2024-09-04 11:34:37
import cv2 as cv
import numpy as np
"""
#图像加法运算 即像素加法 (结果图=图1+图二) (两个图像必须是等大等类型的)
image = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_UNCHANGED)
rows,cols,chn = image.shape
image2 = np.zeros((rows,cols,chn),dtype=image.dtype)
image2 = image
add1 = image+image2 #nupmy包的加法 取模加法 即对应像素之和对255取模得到结果
add2 = cv.add(image,image2) #OPENCV加法 饱和加法 即对应像素相加,超过255的计为255
cv.imshow("orginal",image)
cv.imshow("add1",add1)
cv.imshow("add2",add2)
cv.waitKey(0)
cv.destroyAllWindows()
"""
"""
#图像融合 结果图=图一*系数1+图二*系数2+亮度调节值(图像相加相当于1:1的融合)
image1 = cv.imread("E:/pictures/111.png")
image2 = cv.imread("E:/pictures/300.png")
result = cv.addWeighted(image1,0.6,image2,0.5,5) #dst = cv.addWeighted(src1,alpha,src2,beta,gamma)(五个主要参数)
cv.imshow("image1",image1) #dst=src1*alpha+src2*beta+gamma (以不同比例融合图像)
cv.imshow("image2",image2)
cv.imshow("merge",result)
cv.waitKey()
cv.destroyAllWindows()
""" #图像类型转换 将一个图像转换为其他类型
image = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_UNCHANGED) #dst = cv.cvtColor(image,code) 主要用这两个参数
b = cv.cvtColor(image,cv.COLOR_BGR2RGB) #原图转换为RGB
a = cv.cvtColor(image,cv.COLOR_BGR2GRAY) #原图转换为GRAY
cv.imshow("GRAY",a)
cv.imshow("RGB",b)
cv.imshow("orginal",image)
"""
需要注意的是将灰度图像转换为BGR图像时并不能得到想要的彩色图像,但新得到的图就是3通道图像,不过是
三个通道的每个位置像素值一样,,,,,可以用以下代码验证
a = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_GRAYSLACE)
b = cv.cvtColor(a,cv.COLOR_GRAY2BGR)
print(a.shape)
print(b.shape) //可以发现a为单通道,b为3通道
bb,bg,br = cv.split(b)
cv.imshow("bb",bb)
cv.imshow("bg",bg)
cv.imshow("br",br) //三个图一样 cv.waitKey()
cv.destroyAllWindows() """
cv.waitKey()
cv.destroyAllWindows()
最新文章
- centos 常用命令
- 【android】侧滑关闭activity
- SQL 总结
- Python-memcached的基本使用
- Pintos修改优先级捐赠、嵌套捐赠、锁的获得与释放、信号量及PV操作
- BZOJ3585: mex
- Oracle EBS-SQL (INV-1):检查物料成本为0并且物料状态不是'NEW'的物料.sql
- Sampling Distributions and Central Limit Theorem in R(转)
- 15.C++-操作符重载
- golang channle阻塞
- inline-block有间隙的兼容处理
- WCF 学习总结5 -- 消息拦截实现用户名验证(转)
- PHP之PDO
- codeforces 480D
- Linux学习笔记04—IP配置
- Nginx server之Nginx添加ssl支持
- OpenStack OVS GRE/VXLAN
- VMware12多台虚拟机上网设置
- 【opencv基础】linux系统opencv以及opencv_contrib的安装与使用
- C++ auto
热门文章
- 清除苹果手机input的默认样式
- python3导入自定义模块
- 深入剖析SolrCloud(三)
- Spring框架找不到 applicationContext.xml文件,可能是由于applicationContext.xml文件的路径没有放在根目录下造成的
- 运用alarm系统调用检测网络是否断开
- Linux mii-tool命令
- MagicNotes:突破来自外界的脑力压制
- Tarjan算法求出强连通分量(包含若干个节点)
- 再谈JQuery插件$.extend(), $.fn和$.fn.extend()
- 编写高质量代码改善C#程序的157个建议——建议29:区别LINQ查询中的IEnumerable<;T>;和IQueryable<;T>;