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的面向对象思想分析
Jan 14 Python
Python创建xml的方法
Mar 10 Python
Python使用tablib生成excel文件的简单实现方法
Mar 16 Python
python魔法方法-属性访问控制详解
Jul 25 Python
Python微信库:itchat的用法详解
Aug 14 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
python针对excel的操作技巧
Mar 13 Python
对Python中的@classmethod用法详解
Apr 21 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
May 04 Python
在python中只选取列表中某一纵列的方法
Nov 28 Python
python实现QQ批量登录功能
Jun 19 Python
Python 实现使用空值进行赋值 None
Mar 12 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自动给文章加关键词链接的函数代码
2012/11/29 PHP
深入浅析php json 格式控制
2015/12/24 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
jquery.validate使用详解
2016/06/02 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
谈谈python垃圾回收机制
2020/09/27 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
html5与css3小应用
2013/04/03 HTML / CSS
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
小学生读书感言
2014/02/12 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python