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解决字典中的值是列表问题的方法
Mar 04 Python
Windows和Linux下Python输出彩色文字的方法教程
May 02 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
Python中修改字符串的四种方法
Nov 02 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 Python
python中加背景音乐如何操作
Jul 19 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
Python实现Appium端口检测与释放的实现
Dec 31 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 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
西德产收音机
2021/03/01 无线电
对联广告js flash激活
2006/10/19 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
浅谈python之新式类
2018/08/12 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python将list转为matrix的方法
2018/12/12 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
安全检查验收制度
2014/01/12 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
课内比教学心得体会
2014/09/09 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL