我就废话不多说了,大家还是直接看代码吧!
print("thresh =",thresh) coords = np.column_stack(np.where(thresh > 0))//获取thresh二值灰度图片中的白色文字区域的点 print("coords =",coords) min_rect = cv2.minAreaRect(coords)//由点集获取最小矩形(包含中心坐标点、宽和高、偏转角度) print("min_rec =",min_rect) box = cv2.boxPoints(min_rect)//获取最小矩形的4个顶点坐标。
但是通过一下这个绘制矩形函数,画出来上述的最小矩形与文字区域偏差很大,但是获取到的偏转角度是对的。
不明白他们什么关系啊?
# 根据四点画原矩形 def drawRect(img, pt1, pt2, pt3, pt4, color, lineWidth): cv2.line(img, tuple(pt1), tuple(pt2), color, lineWidth) cv2.line(img, tuple(pt2), tuple(pt3), color, lineWidth) cv2.line(img, tuple(pt3), tuple(pt4), color, lineWidth) cv2.line(img, tuple(pt1), tuple(pt4), color, lineWidth)
有哪路朋友路过,帮一下忙,给指点一二,多谢朋友
附实验问题截图:
补充知识:opencv2 3.2 类中实现提取蓝天颜色
我就废话不多说了,大家还是直接看代码吧!
#include<iostream> #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> using namespace std; using namespace cv; class ColorDetector{ private: int maxDist; //最小差距 Vec3b target ; //目标颜色 Mat result; public: ColorDetector():maxDist(100),target(0,0,0) { } void setColorDistanceThreshold(int distance) //设置颜色差距的阈值 { if(distance<0) distance=0; maxDist=distance; } int getColorDistanceThreshold() const //取得颜色差距的阈值 { return maxDist; } void setTargetColor(uchar blue,uchar green,uchar red) //设置需要检测的颜色 { target=Vec3b(blue,green,red); } void setTargetColor(Vec3b color) { target=color; } Vec3b getTargetColor() const { return target; } Mat process(const cv::Mat &image) ; int getDistance(const Vec3b &color) ; }; Mat ColorDetector::process(const cv::Mat &image) { result.create(image.rows,image.cols,CV_8U); Mat_<Vec3b>::const_iterator it=image.begin<Vec3b>(); Mat_<Vec3b>::const_iterator itend=image.end<Vec3b>(); Mat_<uchar>::iterator itout=result.begin<uchar>(); for ( ; it!= itend; ++it, ++itout) { if (getDistance(*it)<maxDist) { *itout=255; } else { *itout=0; } } return result; } int ColorDetector::getDistance(const Vec3b &color) { return abs(color[0]-target[0])+ abs(color[1]-target[1])+ abs(color[2]-target[2]); } void main() { ColorDetector cdetect; Mat img=imread("C:\\Users\\Administrator\\Desktop\\工作\\testp\\boldt.jpg"); if(img.empty()) return; cdetect.setTargetColor(230,190,130); imshow("original",img); imshow("result",cdetect.process(img)); waitKey(0); }
以上这篇python3+openCV 获取图片中文本区域的最小外接矩形实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 2019明达发烧碟MasterSuperiorAudiophile[WAV+CUE]
- 蔡幸娟.1993-相爱容易相处难【飞碟】【WAV+CUE】
- 陆虎.2024-是否愿意成为我的全世界【Hikoon】【FLAC分轨】
- 关淑怡.2009-ERA【星娱乐】【WAV+CUE】
- 林忆莲《关于她的爱情故事》2022新世纪MQA 24K金碟限量版[WAV+CUE]
- 张雨生1993《一天到晚游泳的鱼》台湾G字首版[WAV+CUE][1G]
- 群星《试音五大女声》[WAV+CUE][1G]
- 魔兽世界wlk武器战一键输出宏是什么 wlk武器战一键输出宏介绍
- 魔兽世界wlk狂暴战一键输出宏是什么 wlk狂暴战一键输出宏介绍
- 魔兽世界wlk恶魔术士一键输出宏是什么 wlk恶魔术士一键输出宏介绍
- 医学爱好者狂喜:UP主把医学史做成了格斗游戏!
- PS5 Pro评分解禁!准备升级入手吗?
- 我们盘点了近期火热的国产单机游戏!《琉隐神渡》等 你期待哪款?
- 2019年第12届广州影音展双碟纪念版ADMS2CD[MP3/WAV]
- 黄安《救姻缘》台首版[WAV+CUE]