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中的装饰器、闭包和functools的教程
Apr 02 Python
分享python数据统计的一些小技巧
Jul 21 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
通过Pandas读取大文件的实例
Jun 07 Python
Python笔记之工厂模式
Nov 20 Python
opencv3/C++实现视频背景去除建模(BSM)
Dec 11 Python
python中有函数重载吗
May 28 Python
Python如何生成xml文件
Jun 04 Python
如何用python反转图片,视频
Apr 24 Python
python实现的人脸识别打卡系统
May 08 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对微信支付回调处理的方法
2018/08/23 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
Python中的变量和作用域详解
2016/07/13 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
sklearn和keras的数据切分与交叉验证的实例详解
2020/06/19 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
阿尔卡特(中国)的面试题目
2014/08/20 面试题
园长自我鉴定
2013/10/06 职场文书
实习心得体会
2014/01/02 职场文书
班班通校本培训方案
2014/03/12 职场文书
书香家庭事迹材料
2014/05/09 职场文书
教师节倡议书
2014/08/30 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS
React更新渲染原理深入分析
2022/12/24 Javascript