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彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
PyQt5笔记之弹出窗口大全
Jun 20 Python
pycharm运行scrapy过程图解
Nov 22 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
Python多分支if语句的使用
Sep 03 Python
教你使用Python pypinyin库实现汉字转拼音
May 27 Python
Python图片检索之以图搜图
May 31 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
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
pycharm的console输入实现换行的方法
2019/01/16 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
python烟花效果的代码实例
2020/02/25 Python
Django models filter筛选条件详解
2020/03/16 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
高级方案规划工程师岗位职责
2013/11/29 职场文书
中学生运动会入场词
2014/02/12 职场文书
文体活动总结范文
2014/05/05 职场文书
大学生就业自荐书
2014/06/16 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
大学生党课感想
2015/08/11 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
对讲机的最大通讯距离是多少
2022/02/18 无线电