文档章节

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

IOTService
 IOTService
发布于 2016/12/04 21:42
字数 190
阅读 61
收藏 1
点赞 1
评论 0
#-*- 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
粉丝 15
博文 134
码字总数 29156
作品 0
广州
程序员
基于OpenCV和Python的文件操作——捕获摄像头的帧,在窗口显示图像,在窗口显示摄像头帧和视频文件的读/写

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

learning_tortosie ⋅ 04/12 ⋅ 0

在Python中使用OpenCV进行人脸检测

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

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

OpenCV-Python(1)在Python中使用OpenCV进行人脸检测

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

煎鱼不可能有BUG ⋅ 05/23 ⋅ 0

Python各类图像库的图片读写方式总结

转载来源:http://www.cnblogs.com/skyfsm/p/8276501.html Python各类图像库的图片读写方式总结 最近在研究深度学习视觉相关的东西,经常需要写python代码搭建深度学习模型。比如写CNN模型相...

chenxueying1993 ⋅ 04/24 ⋅ 0

python深度学习库pytorch::transforms练习:opencv,scikit-image,PIL图像处理库比较

进行深度学习时,对图像进行预处理的过程是非常重要的,使用pytorch或者TensorFlow时需要对图像进行预处理以及展示来观看处理效果,因此对python中的图像处理框架进行图像的读取和基本变换的...

oldpan ⋅ 2017/11/24 ⋅ 0

OpenCV中几何形状识别与测量

经常看到有学习OpenCV不久的人提问,如何识别一些简单的几何形状与它们的颜色,其实通过OpenCV的轮廓发现与几何分析相关的函数,只需不到100行的代码就可以很好的实现这些简单几何形状识别与...

gloomyfish ⋅ 04/16 ⋅ 0

1.5OpenCV官方示例学习

OpenCV官方示例   OpenCV作为一个在全球使用人数众多的计算机视觉库,官方已经准备了大量的示例程序,供大家学习。官方提供的示例代码具体位于…opencvsourcessamples目录下,如下图所示:...

webzhuce ⋅ 05/27 ⋅ 0

opencv动态边缘检测-python

OpenCV:是一个基于BSD许可(开源)发行的跨平台计算视觉库。由一系列C函数和少量的C++编写,实现图像处理和计算机视觉方面的很多通用算法。 Canny边缘检测算子:是一种多级检测算法。1986年...

yan_shichang ⋅ 04/24 ⋅ 0

记 Mac 上安装 openCv 的经历(巨坑)

最近需要使用 python 调用 openCv 来玩一些东西,结果安装 openCv 的过程充满血泪 环境和安装过程 mac 环境,自带 python 2.7 首先安装了 homebrew /usr/bin/ruby -e "$(curl -fsSL https://...

小虫巨蟹 ⋅ 05/04 ⋅ 0

tensorflow实现人脸检测及识别(简单版)

本教程主要是对人脸检测及识别python实现系列 及碉堡了!程序员用深度学习写了个老板探测器(付源码) 的实现。主要实现的功能是用网络摄像头自动识别在工位通道走过的人脸,如果确认是老板的...

gavinmiaoc ⋅ 05/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 33分钟前 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 昨天 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 昨天 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 昨天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部