python使用numpy实现直方图反向投影示例


Posted in Python onJanuary 17, 2020

最近跟着OpenCV2-Python-Tutorials在学习python_opencv中直方图的反向投影时,第一种方法是使用numpy实现将图中的红色玫瑰分割出来,教程给的代码缺了一句函数,导致实现不出来。

自己加上了后(也不知到这样加对不对)代码和效果如下:

代码:
import cv2
import numpy as np
roi = cv2.imread('./data/rose_red.jpg')
hsv = cv2.cvtColor(roi,cv2.COLOR_BGR2HSV)
#target is the image we search in
target = cv2.imread('./data/rose.jpg')
cv2.imshow('target',target)
hsvt = cv2.cvtColor(target,cv2.COLOR_BGR2HSV)
# Find the histograms using calcHist. Can be done with np.histogram2d also
M = cv2.calcHist([hsv],[0, 1], None, [180, 256], [0, 180, 0, 256] )
print(M)
I = cv2.calcHist([hsvt],[0, 1], None, [180, 256], [0, 180, 0, 256] )
h,s,v = cv2.split(hsvt)
#斜体是自己加上的
R=M/I
print(R.shape)
B = R[h.ravel(),s.ravel()]
print(B)
B = np.minimum(B,1)
print(B)
B = B.reshape(hsvt.shape[:2])
disc = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(9,9))
B=cv2.filter2D(B,-1,disc)
B = np.uint8(B)
cv2.normalize(B,B,0,255,cv2.NORM_MINMAX)
cv2.imshow('B',B)
ret,thresh = cv2.threshold(B,2,255,0)
cv2.imshow('thresh',thresh)
res = cv2.bitwise_and(target,target,mask=thresh)
cv2.imshow('res',res)
cv2.waitKey(0)

效果:

rose_red.jpg

python使用numpy实现直方图反向投影示例

rose.jpg

python使用numpy实现直方图反向投影示例

result:

python使用numpy实现直方图反向投影示例

以上这篇python使用numpy实现直方图反向投影示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
介绍Python中的fabs()方法的使用
May 14 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
python 输出上个月的月末日期实例
Apr 11 Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 Python
python 整数越界问题详解
Jun 27 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 Python
python剪切视频与合并视频的实现
Mar 03 Python
Python实现初始化不同的变量类型为空值
Jun 02 Python
Python pymsql模块的使用
Sep 07 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
详解如何使用Pytest进行自动化测试
Jan 14 Python
对python中 math模块下 atan 和 atan2的区别详解
Jan 17 #Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 #Python
Python autoescape标签用法解析
Jan 17 #Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 #Python
Python with标签使用方法解析
Jan 17 #Python
Python运行DLL文件的方法
Jan 17 #Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 #Python
You might like
php中的mongodb select常用操作代码示例
2014/09/06 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
python实现在字符串中查找子字符串的方法
2015/07/11 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
Python 变量类型详解
2018/10/10 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
详解python的变量缓存机制
2021/01/24 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
法学求职信
2014/06/22 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
教师工作态度自我评价
2015/03/05 职场文书
写给女朋友的保证书
2015/05/09 职场文书
通用员工手册范本
2015/05/14 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB