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下的twisted框架入门指引
Apr 15 Python
使用Python脚本将文字转换为图片的实例分享
Aug 29 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
Python生成器的使用方法和示例代码
Mar 04 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
Python编写带选项的命令行程序方法
Aug 13 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
详解Python中pyautogui库的最全使用方法
Apr 01 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
Python爬虫基础之简单说一下scrapy的框架结构
Jun 26 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
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
使用Python下载Bing图片(代码)
2013/11/07 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python打造爬虫代理池过程解析
2019/08/15 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
中科软笔试题和面试题
2014/10/07 面试题
师生聚会感言
2014/01/26 职场文书
高一数学教学反思
2014/02/07 职场文书
战略合作意向书范本
2014/04/01 职场文书
企业法人授权委托书
2014/04/03 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
2016年十一促销广告语
2016/01/28 职场文书
Python进程间的通信之语法学习
2022/04/11 Python