opencv学习笔记2
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()
opencv学习笔记2的更多相关文章
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- opencv学习笔记(六)直方图比较图片相似度
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
- opencv学习笔记(五)镜像对称
opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...
- opencv学习笔记(四)投影
opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- opencv学习笔记(二)寻找轮廓
opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...
- opencv学习笔记(一)IplImage, CvMat, Mat 的关系
opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...
- paper 93:OpenCV学习笔记大集锦
整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...
- (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
首页 视界智尚 算法技术 每日技术 来打我呀 注册 OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
随机推荐
- 微信开发准备(四)--nat123内网地址公网映射实现
转自:http://www.cuiyongzhi.com/post/37.html 在前面几篇中我们一直说的开发准备工作主要是基于开发框架上的,这里我们说的就逐渐接近开发过程中的实体操作了,如果你之前 ...
- Spring 快速入门
1.持久层 (1) 域模型层 (2) Dao 持久层接口 (3) DaoImpl 持久层接口实现 2.业务层 Service 业务接口层 ServiceImpl 业务接口实现 3.展现层 Sp ...
- Python基础学习六 操作Redis
import redis r = redis.Redis(host=',db=1) #set get delete setex 都是针对string类型的 k-v # r.set('louis_ses ...
- java5 Condition用法--实现线程间的通信
Condition的功能类似在传统线程技术中的Object.wait()和Object.natify()的功能,传统线程技术实现的互斥只能一个线程单独干,不能说这个线程干完了通知另一个线程来干,Con ...
- 简单的so修改
今天有点小高兴哈,终于能修改so了 虽然只是hello,word..改成了.come,on,men.. 但是感觉也不错了. 只用两个工具. 1.盗版的ida定位可疑代码地址. 2.盗版的ultralE ...
- Redis搭建(一):单实例
环境:CentOS6.4 + redis3.2.4 一.安装 cd /opt tar -zxf redis-3.2.4.tar.gz make make install PREFIX=/usr/loc ...
- Spring总结三:DI(依赖注入)
简介: 所谓的依赖注入,其实是当一个bean实例引用到了另外一个bean实例时spring容器帮助我们创建依赖bean实例并注入(传递)到另一个bean中,比如你使用Spring容器创建的对象A里面需 ...
- libevent源码深度剖析八
libevent源码深度剖析八 ——集成信号处理 张亮 现在我们已经了解了libevent的基本框架:事件管理框架和事件主循环.上节提到了libevent中I/O事件和Signal以及Timer事件的 ...
- WebFlux03 SpringBoot WebFlux实现CRUD
1 准备 基于SpringBoot2.0搭建WebFlux项目,详情请参见三少另外一篇博文 2 工程结构 <?xml version="1.0" encoding=" ...
- 内存cache使用的场景
Q.业务场景内为什么要使用内存cache? A.为了利用内存cache的优点, 解决业务场景内的缺陷 Q.内存cache的优点和缺点 A.优点: 内存读写速度比磁盘块 缺点: 内存空间有限, 内存单价 ...