文档章节

Python OpenCV学习笔记之:图像计算

IOTService
 IOTService
发布于 2016/12/04 21:42
字数 190
阅读 78
收藏 1
#-*- coding: utf-8 -*-
# 图像操作
import cv2 as cv

img1 = cv.imread('../../datas/images/fish.jpg')
img2 = cv.imread('../../datas/images/fish2.jpg')

cv.imshow("img1",img1)
cv.imshow("img2",img2)

# 图像简单混合
dist1 = cv.add(img1,img2)
cv.imshow("dist1",dist1)

alpha = 0.75
beta = 1.0 - alpha
gamma = 2.5

dist2 = cv.addWeighted(img1,alpha,img2,beta,gamma)

cv.imshow("dist2",dist2)

# 获取图像ROI
rows,cols,channels = img1.shape
roi = img1[10:rows / 2,10:cols / 2]
cv.imshow("roi",roi)

# 转换颜色空间
gray = cv.cvtColor(img1,cv.COLOR_RGB2GRAY)
cv.imshow("gray",gray)

# 图像阈值操作
ret,mask = cv.threshold(gray,10,255,cv.THRESH_BINARY)
cv.imshow("thresh-mask",mask)

mask_inv = cv.bitwise_not(mask)
cv.imshow("mask-inv",mask_inv)

# 简单分离背景
roi = img1[0:rows,0:cols]
img1_bg = cv.bitwise_and(roi,roi,mask,mask_inv)
cv.imshow('image-bg',img1_bg)

img2_fg = cv.bitwise_and(img2,img2,mask=mask)
cv.imshow("img2-fg",img2_fg)

# 通过ROI改变主图
dist = cv.add(img1_bg,img2_fg)
img1[0:rows,0:cols] = dist
cv.imshow('dist',img1)

cv.waitKey()
cv.destroyAllWindows()

© 著作权归作者所有

共有 人打赏支持
IOTService
粉丝 16
博文 146
码字总数 32874
作品 0
广州
程序员
基于OpenCV和Python的文件操作——捕获摄像头的帧,在窗口显示图像,在窗口显示摄像头帧和视频文件的读/写

0 写在前面 这篇博客主要参考资料为《OpenCV 3计算机视觉Python语言实现》(Learning OpenCV 3 Computer Vison with Python)。 因为之前用Faster R-CNN做过一个红绿灯检测的小实践,但是Git...

learning_tortosie
04/12
0
0
在pcDuino上安装OpenCV,以及两个OpenCV入门的例子

OpenCV是一个很基于 Python的开源视觉识别工具。 在这里,我们相信地介绍了如何如何在pcDuino上安装OpenCV。 然后给出了两个例子。 第一个例子是介绍如何用OpenCV抓图像,第二个例子介绍如何...

pc朵拉
2013/07/03
0
1
轻松使用OpenCV Python控制Webcam,读取Barcode

虽然手机上Barcode应用已经非常流行,但是工作的时候还是用Webcam比较方便。比如需要检测Barcode,我只需要拿Webcam对着电脑屏幕或者纸张扫一下就可以了。今天分享下如何轻松使用OpenCV控制W...

yushulx
2015/08/11
0
0
OpenCV-Python(1)在Python中使用OpenCV进行人脸检测

OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头。然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码。 在...

煎鱼不可能有BUG
05/23
0
0
在Python中使用OpenCV进行人脸检测

OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头。然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码。 在...

煎鱼不可能有BUG
05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊redisson的DelayedQueue

序 本文主要研究一下redisson的DelayedQueue maven <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.8.1</version></dependenc......

go4it
22分钟前
1
0
一张图看懂JVM

JVM结构示意图 JVM总体概述 JVM总体上是由类装载子系统(ClassLoader)、运行时数据区、执行引擎、内存回收这四个部分组成。其中我们最为关注的运行时数据区,也就是JVM的内存部分则是由方法...

小致dad
24分钟前
0
0
安全管理标准

安全生产严重等级分类: 故障频次: 风险等级矩阵:

乔老哥
55分钟前
2
0
数据结构“树”的相关微视频

今天在腾讯视频上闲逛,然後发现一个叫“岚人”的用户上传了几段小视频,基本上都在5分钟以内,讲解了关于树的一些结构和算法。零代码,非常适合初学者入门。不过,对于老鸟来说,这也是非常...

Iridium
今天
1
0
10-利用思维导图梳理JavaSE-Java 集合

10-利用思维导图梳理JavaSE-Java 集合 主要内容 1.Collection接口 2.Set接口 2.1.Set接口概述 2.2.HashSet类 2.3.TreeSet类 2.4.SortedSet接口 3.List接口 3.1.List接口概述 3.2.ArrayList类...

飞鱼说编程
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部