直接上代码,内有注释:
import cv2 ''' 图像的算数运算 ''' img1 = cv2.imread('messi.jpg') img2 = cv2.imread('opencv_logo.jpg') img3 = cv2.imread('robot.jpg') #Image Add #图像相加 addedImage = cv2.add(img2, img3) cv2.imshow('Added', addedImage) cv2.imwrite('Added.jpg', addedImage) #Image Blending #图像混合,size必须相同 blending = cv2.addWeighted(img3, 0.8, img2, 0.2, 0) cv2.imshow('Blending', blending) cv2.imwrite('Blending.jpg', blending) #Image bitwise # 图像的位运算 # I want to put logo on top-left corner, So I create a ROI rows, cols, channels = img2.shape roi = img1[0:rows, 0:cols] #Now create a mask of logo and create its invers mask also #灰度化 #灰度图:就是图像的颜色由黑(0)到白(255)的颜色组成,中间是灰色。类似于黑白照片的效果。 img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) # 对灰度图进行阙值处理 #像素的颜色值〉200是,设为255(白色),其他则设为0(黑色) =〉黑白图 ret, mask = cv2.threshold(img2gray, 200, 255, cv2.THRESH_BINARY) #取反,跟mask的黑白色转换 mask_inv = cv2.bitwise_not(mask) #Now black-out the area of logo in roi #当mask像素的色值不为0时,roi[i] ^ roi [i];mask像素的色值为0时,则输出0。 #所以表现为在roi上加上mask的黑色部分 img1_bg = cv2.bitwise_and(roi, roi, mask = mask) #同理,得出在img2上把白色部分变成黑色的图像 img2_fg = cv2.bitwise_and(img2, img2, mask = mask_inv) #把logo的非白部分加到ROI里 bitwise = cv2.add(img1_bg, img2_fg) #替换ROI img1[0:rows, 0:cols] = bitwise cv2.imshow('img2gray', img2gray) cv2.imshow('mask', mask) cv2.imshow('mask_inv', mask_inv) cv2.imshow('img1_bg', img1_bg) cv2.imshow('img2_fg', img2_fg) cv2.imshow('BitWise-ROI', bitwise) cv2.imshow('BitWise-Result', img1) cv2.imwrite('img2gray.jpg', img2gray) cv2.imwrite('mask.jpg', mask) cv2.imwrite('mask_inv.jpg', mask_inv) cv2.imwrite('img1_bg.jpg', img1_bg) cv2.imwrite('img2_fg.jpg', img2_fg) cv2.imwrite('BitWise-ROI.jpg', bitwise) cv2.imwrite('BitWise-Result.jpg', img1) cv2.waitKey(0) cv2.destroyAllWindows()
-----原图
1.messi
2.opencv-logo
3.robot
-----处理结果
1.图像相加
2.图像混合
3.图像位运算
3-1.灰度图
3-2.mask
3-3.mask取反
3-4.img1_bg
3-5.img2_fg
3-6.ROI位运算
3-7.最终结果
参照:
1.http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_core/py_image_arithmetics/py_image_arithmetics.html#image-arithmetics
2.https://docs.opencv.org/2.4.13.5/modules/core/doc/operations_on_arrays.html#bitwise-and
相关推荐
赠送jar包:opencv-4.5.1-1.5.5.jar; 赠送原API文档:opencv-4.5.1-1.5.5-javadoc.jar; 赠送源代码:opencv-4.5.1-1.5.5-sources.jar; 赠送Maven依赖信息文件:opencv-4.5.1-1.5.5.pom; 包含翻译后的API文档:...
赠送jar包:opencv-4.5.5-1.5.7.jar; 赠送原API文档:opencv-4.5.5-1.5.7-javadoc.jar; 赠送源代码:opencv-4.5.5-1.5.7-sources.jar; 赠送Maven依赖信息文件:opencv-4.5.5-1.5.7.pom; 包含翻译后的API文档:...
赠送jar包:opencv-4.5.5-1.5.7.jar; 赠送原API文档:opencv-4.5.5-1.5.7-javadoc.jar; 赠送源代码:opencv-4.5.5-1.5.7-sources.jar; 赠送Maven依赖信息文件:opencv-4.5.5-1.5.7.pom; 包含翻译后的API文档:...
这个压缩包"OpenCV-MinGW-Build-OpenCV-4.5.0-with-contrib-32bit.zip"是专为在Windows环境下使用MinGW编译器进行C++开发而准备的。MinGW(Minimalist GNU for Windows)是一个小型的GNU开发工具集,它提供了一个不...
OpenCV-MinGW-Build-OpenCV-4.5.0-with-contrib
在本压缩包“OpenCV-MinGW-Build-OpenCV-4.5.2-x64.zip”中,提供的是一份已经针对MinGW编译器优化的OpenCV 4.5.2版本,适用于64位Windows系统。 OpenCV 4.5.2是该库的一个稳定版本,它包含了众多新特性和性能提升...
赠送jar包:opencv-4.5.1-1.5.5.jar; 赠送原API文档:opencv-4.5.1-1.5.5-javadoc.jar; 赠送源代码:opencv-4.5.1-1.5.5-sources.jar; 赠送Maven依赖信息文件:opencv-4.5.1-1.5.5.pom; 包含翻译后的API文档:...
opencv_python-4.2.0.32-cp38-cp38-win32.whl 在线cmd命令pip3 install opencv_python 网速过慢也导致出错的问题。 操作方法:将文件下载后拷贝至Anaconda或者python安装目录下的\libs\site-packages文件夹下(没有...
4. **安装OpenCV**:使用Python的pip工具安装解压后的wheel文件: ``` pip3 install opencv_python-4.5.3.56-cp37-cp37m-linux_armv7l.whl ``` 这一步会将OpenCV的Python接口安装到你的Python环境中。 5. **...
OpenCV库的核心功能包括图像和视频的读取、显示、存储,基本的图像处理操作如滤波、边缘检测、色彩空间转换,以及复杂的特征提取、对象检测和机器学习算法。 opencv_contrib是OpenCV的扩展模块,它提供了许多实验性...
INCLUDEPATH += C:/OpenCV-MinGW-Build-OpenCV-3.4.1/include \ C:/OpenCV-MinGW-Build-OpenCV-3.4.1/include/opencv \ C:/OpenCV-MinGW-Build-OpenCV-3.4.1/include/opencv2 LIBS += C:/OpenCV-MinGW-Build-...
首先,OpenCV的核心是其C++库,它包含了大量的预编译的函数和类,用于执行各种图像处理操作,如图像读取、写入、转换、滤波、边缘检测、特征提取等。在Android平台上,OpenCV通过JNI(Java Native Interface)与Java...
OpenCV的核心功能包括: 1. 图像处理:如图像读取、显示、保存,以及滤波、直方图均衡化、边缘检测等基本操作。 2. 特征检测与匹配:如SIFT、SURF、ORB等特征点检测算法,用于图像匹配和物体识别。 3. 图像分割:...
资源分类:Python库 所属语言:Python 资源全名:opencv-contrib-python-headless-3.4.17.63.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:opencv_python-4.1.2.30-cp36-cp36m-win32.whl
- **下载地址:** [https://opencv.org/opencv-3-4-1.html](https://opencv.org/opencv-3-4-1.html),在页面底部可以找到“Android pack”链接,点击即可下载。 #### 二、OpenCV Android Studio Demo 分析 除了...
opencv_python-4.1.1.26-cp35-cp35m-manylinux1_x86_64.whl
OpenCV(开源计算机视觉库)是计算机视觉和机器学习领域的一个强大工具,广泛应用于图像处理、图像分析和目标检测等任务。在这个特定的场景中,我们关注的是在arm64架构(例如树莓派这样的设备)上配置OpenCV。通常...
适用平台:树莓派armv7l python版本要求:python3.7 opencv版本:4.5.5.62 文件格式:whl格式 文件数:2个(包含contrib的whl文件) 安装方式:切换到whl所在路径后,执行sudo pip3 install whl文件名