当前位置: 首页 > news >正文

排行网站模板网页界面设计中表单的组成部分有哪四方面

排行网站模板,网页界面设计中表单的组成部分有哪四方面,公司部门设置,用户界面设计的三大原则【1】引言 前序学习进程中,已经使用cv2.findContours()函数cv2.drawContours()函数实现图像轮廓识别和标注,这种标注沿着图像的轮廓进行,比较细致。相关文章链接为: python学opencv|读取图像(六十四)使用…

【1】引言

前序学习进程中,已经使用cv2.findContours()函数+cv2.drawContours()函数实现图像轮廓识别和标注,这种标注沿着图像的轮廓进行,比较细致。相关文章链接为:

python学opencv|读取图像(六十四)使用cv2.findContours()函数+cv2.drawContours()函数实现图像轮廓识别和标注-CSDN博客

如果想用矩形将图像直接框选,就是今天的学习目标: 使用cv2.boundingRect()函数实现图像轮廓矩形标注。

【2】官网教程

点击下方链接,直达cv2.boundingRect()函数官网教程:

OpenCV: Structural Analysis and Shape Descriptors

官网页面对 cv2.boundingRect()函数的解释为:

图1   官网页面对 cv2.boundingRect()函数的解释

其实可以根据字面意思理解,bounding就是边界的意思,rect代表rectangle矩形,所以cv2.boundingRect()函数可以读取举行的边界值。

【3】代码测试

和之前一样,cv2.boundingRect()函数要想用矩形作为标签标注图形的轮廓,需要提前知晓图像的轮廓位置,所以依然要调用 cv2.findContours()函数来找到轮廓。

cv2.boundingRect()函数和cv2.findContours()函数有一个共同点,就是必须要对灰度图像才有效,所以必须提前调用cv2.cvtColor()函数转换灰度图,而为了更进一步突出灰度图,有时候需要调用cv2.threshold()函数进行阈值处理。

如果对上述函数不熟悉,可以通过下述链接回忆:
python学opencv|读取图像(六十四)使用cv2.findContours()函数+cv2.drawContours()函数实现图像轮廓识别和标注-CSDN博客

python学opencv|读取图像(十九)使用cv2.rectangle()绘制矩形_python cv2.rectangle-CSDN博客

python学opencv|读取图像(十一)彩色图像转灰度图的两种办法_识别图像输出灰度图-CSDN博客

按照上述分析的逻辑,代码设置为:引入必要模块和图像,图像灰度处理,图像阈值处理,给灰度图像找边界轮廓,然后是绘制矩形标注。

此处直接给出完整代码:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
src = cv.imread('df.png') #读取图像srcx.png
gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY) #将图像转化为灰度图#图像处理
canvas = np.ones((580, 580, 3), np.uint8)*158  # 绘制一个580*580大小的画布,3代表有3个通道,unit8为图像存储格式
t,dst=cv.threshold(gray,10,255,cv.THRESH_BINARY) #阈值处理
con,hierarchy=cv.findContours(dst,cv.RETR_LIST,cv.CHAIN_APPROX_SIMPLE) #读取边界
x,y,w,h=cv.boundingRect(con[0]) #获取第一轮廓的最小矩形边框,记录左上角坐标、宽和高print('con=',len(con)) #输出con代表的轮廓列表数量
print(src.shape) #输出src图像基本属性
cv.rectangle(src,(x,y),(x+w,y+h),(0,100,255),5) #绘制矩形
#cv.imshow('ini-image ', dst) #显示原始图像
cv.imshow('ini-image-con', src) #显示带轮廓线图像
canvas=cv.rectangle(canvas,(x,y),(x+w,y+h),(0,100,255),5)
cv.imshow('rectangle', canvas)  # 在屏幕展示你画线段的效果
#cv.imshow('ini-image-gon', gray) #显示带轮廓线图像
cv.imwrite('ini-image-con.png', src) #保存图像
cv.waitKey()  # 图像不关闭
cv.destroyAllWindows()  # 释放所有窗口

 代码运行的相关图像有:

图2 初始图像df.png

图3 加矩形标注图像

由图2和图3可见,图像识别成功,并且画上了矩形标注框。

【4】细节说明

在使用纯黑白图像时,顺利获得了如图2所示的矩形标注效果。

如果图像稍微复杂一些,是否效果依旧显著。

将输出图像换位依旧是黑白为主色调的图像:

图4 新的初始图像

代码运行后的实际效果为:

图5 实际运行效果-标注了一个点

由图5可见,实际运行效果只在人像上标注了一个点。

为此,追溯了原因,看读取的一些基本信息:

图6 基本信息

在控制台,获得了一些基本信息,con代表获得的轮廓数,第二行代表像素和通道。

显然,第二个初始图像读出了2346个轮廓,显然这个数据足够大,具体使用哪个轮廓来绘制矩形很难选择。

然后对于第一个初始图像,代码使用的轮廓为con[0],如果将其切换为con[1]:

src = cv.imread('df.png') #读取图像srcx.png
x,y,w,h=cv.boundingRect(con[1]) #获取第一轮廓的最小矩形边框,记录左上角坐标、宽和高

代码运行后的效果为:

图7 第二个矩形轮廓

由图7可见,如果使用第二个轮廓,绘制的矩形框沿着图像的边缘。

综上,使用cv2.boundingRect()函数对图像轮廓进行矩形标注,图像的颜色单一才会更为准确。

【5】总结

掌握了python+opencv通过使用cv2.boundingRect()函数对图像轮廓进行矩形标注的技巧。

http://www.yayakq.cn/news/445004/

相关文章:

  • 住房和城乡建设部网站质保金公司变更地址需要什么资料
  • 做网站要求什么公司做网站需要备案吗
  • 企石东莞网站建设重庆永川网站建设公司
  • 网站建设后期服务收费标准求推荐公司网站建设
  • 郑州大学网页设计与网站建设wordpress打开wordpress
  • 打电话说帮忙做网站南宁营销型网站
  • 米拓建站教程做天猫网站价格表
  • 福建网站建设开发宣传类的网站
  • 茶叶公司网站模板网站服务器关闭怎么恢复
  • 洛阳微信网站建设wordpress去除图片id
  • 可以免费做网站吗义乌网站建设zisou8
  • 龙岩做网站怎么做快速网站模板公司
  • 传销教你做网站网站设计与建设的公司
  • 石碣镇网站建设网站建设课程 考核目的
  • 淄博网站设计丨致信网络有什么网站可以免费建站免费建网站
  • 支付宝 手机网站支付接口2.0设计好的制作网站
  • 郑州建设工程协会网站江西省网站开发
  • 青浦网站建设 迎鑫网络服务商分为哪几类
  • 网络公司给我做网站我有没有源代码版权吗?淄博网站建设网站推广优化
  • 微信恢复官方网站网络推广主要用哪些软件
  • 百度百科网站开发河南夏邑网站建设
  • seo站长综合查询沈阳企业自助建站
  • 贵州整站优化seo平台seo工具网站
  • 网站建设公司下载网站原型的交互怎么做
  • 可以做业务推广的网站有哪些内容wordpress防抓取
  • 制作网站品牌公司简介深圳宝安网站建设学习网
  • 网站备案需要的资料南宁网站关键字优化
  • 可以上传网站的免费空间常州 招网站开发
  • 河南住房和城乡建设厅职称网站辽宁建设工程信息网招标公呿
  • 怎么添加网站备案号专门做投标书的网站