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

找不同 网站开发百度一下就知道百度首页

找不同 网站开发,百度一下就知道百度首页,广州网络推广服务商,永嘉移动网站建设公司【1】引言 前序学习过程中,我们偶然发现:如果原始图像是png格式,将其从BGR转向HSV,再从HSV转回BGR后,图像的效果要好于JPG格式。 文章链接为: python学opencv|读取图像(十二)BGR图…

【1】引言

前序学习过程中,我们偶然发现:如果原始图像是png格式,将其从BGR转向HSV,再从HSV转回BGR后,图像的效果要好于JPG格式。

文章链接为:

python学opencv|读取图像(十二)BGR图像转HSV图像-CSDN博客

但之前“BGR转向HSV,再从HSV转回BGR”的过程分别写了两个程序。

在此实践基础上,我们尝试在同一个程序内部实现BGR-HSV-BGR的闭环转换。

【2】代码编写

在前述文章的基础上,我们在pycharm等编辑器输入下述代码:

import cv2 as cv  # 引入cv2模块
import numpy as npimage = cv.imread("cv-BGR-000.png")  # 读取图片
if image is not None:  # 成功读取图片cv.imshow('cvtest', image)  # 显示为彩色图# BGR向HSV转化hsv_image = cv.cvtColor(image, cv.COLOR_BGR2HSV)  # BGR和HSV转化image_bh = np.hstack((image, hsv_image))  # BGR和HSV图像拼接cv.imshow('hcvtest', image_bh)  # 显示为拼接图cv.imwrite('cv-BGRTOHSV-001.png', hsv_image)  # 保存HSV图cv.imwrite('cv-BGRTOHSV-002.png', image_bh)  # 保存BGR和HSV图像拼接# HSV向BGR转化bgr_image=cv.cvtColor(hsv_image, cv.COLOR_HSV2BGR)  # BGR和HSV转化image_hb = np.hstack((hsv_image, bgr_image))  # BGR和HSV图像拼接cv.imshow('bgrtest', image_hb)  # 显示为拼接图cv.imwrite('cv-HSVTOBGR-001.png', bgr_image)  # 保存BGR图cv.imwrite('cv-HSVTOBGR-002.png', image_hb)  # 保存BGR和HSV图像拼接cv.waitKey()  # 图片显示时间cv.destroyAllWindows()  # 释放所有窗口
else:  # 未找到图片print("Error: 图片无法加载")

代码看起来很长,但实际上可以大致分为三个模块:

第一个模块引入cv2和numpy模块;

第二个模块包括两部分,第一部分实现BGR向HSV转换,第二部分实现HSV向BGR转换;

第三个模块释放所有对象。

【3】代码测试

运行代码前,我们准备的原始图像cv-BGR-000.png为:

图1 cv-BGR-000.png

运行代码后,获得的BGR转HSV图为cv-BGRTOHSV-001.png。

cv-BGRTOHSV-001.png和原cv-BGR-000.png对比效果为:

图2 cv-BGR-000.png和cv-BGRTOHSV-001.png对比

显然,在BGR转向HSV图像后,HSV图像似乎染上了很多红晕。

代码继续运行,获得的HSV转回的BGR图为cv-HSVTOBGR-001.png。

cv-HSVTOBGR-001.png和原cv-BGRTOHSV-001.png对比效果为:

图3 cv-BGRTOHSV-001和cv-HSVTOBGR-001.png对比

此时我们发现:由HSV转回BGR后的图像,似乎和原图完全一致。

【4】图像对比

为实现上述猜想,于是继续增添代码,将BGR-HSV-BGR的图像和原图进行对比:

# HSV向BGR转化后和原图对比
image_bhb = np.hstack((image, bgr_image))  # HSV转回BGR图像和原图拼接
cv.imshow('bgrhsvbgrtest', image_bhb)  # 显示为拼接图
cv.imwrite('cv-BGRTOHSVTOBGR.png', image_bhb)  # 保存BGR图

代码运行后的效果为:

图4 cv-BGRTOHSVTOBGR.png

由图4可见,基于png格式图像的BGR-HSV-BGR的闭环转换,图像几乎是无损的回到了原来的模样。

此时我们还会发现,转回的新图比原图还大:

图5 转回的新图比原图还大

上述发现有助于大家在实际工作生活中进行灵活转换图像。

此时的完整代码为:

import cv2 as cv  # 引入cv2模块
import numpy as npimage = cv.imread("cv-BGR-000.png")  # 读取图片
if image is not None:  # 成功读取图片cv.imshow('cvtest', image)  # 显示为彩色图# BGR向HSV转化hsv_image = cv.cvtColor(image, cv.COLOR_BGR2HSV)  # BGR和HSV转化image_bh = np.hstack((image, hsv_image))  # BGR和HSV图像拼接cv.imshow('hcvtest', image_bh)  # 显示为拼接图cv.imwrite('cv-BGRTOHSV-001.png', hsv_image)  # 保存HSV图cv.imwrite('cv-BGRTOHSV-002.png', image_bh)  # 保存BGR和HSV图像拼接# HSV向BGR转化bgr_image=cv.cvtColor(hsv_image, cv.COLOR_HSV2BGR)  # BGR和HSV转化image_hb = np.hstack((hsv_image, bgr_image))  # BGR和HSV图像拼接cv.imshow('bgrtest', image_hb)  # 显示为拼接图cv.imwrite('cv-HSVTOBGR-001.png', bgr_image)  # 保存BGR图cv.imwrite('cv-HSVTOBGR-002.png', image_hb)  # 保存BGR和HSV图像拼接# HSV向BGR转化后和原图对比image_bhb = np.hstack((image, bgr_image))  # HSV转回BGR图像和原图拼接cv.imshow('bgrhsvbgrtest', image_bhb)  # 显示为拼接图cv.imwrite('cv-BGRTOHSVTOBGR.png', image_bhb)  # 保存BGR图cv.waitKey()  # 图片显示时间cv.destroyAllWindows()  # 释放所有窗口
else:  # 未找到图片print("Error: 图片无法加载")

 【5】总结

探索了png格式的图像,进行BGR-HSV-BGR格式比转换后的对比,发现新图比原图质量更高。

 

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

相关文章:

  • 石头科技 网站开发wordpress 如何编辑
  • 南京网站推广费用网站托管哪家公司好
  • 除了外链 还有什么办法使网站提高排名wordpress怎么做好看的图片页面
  • 做网站视频赚钱吗网页设计与网站建设教材
  • 珠海网站设计多少钱速卖通开店流程及费用
  • 东营网站建设公司莱州教研室网站
  • 唐山网站建设正规公司西安做网站找缑阳建
  • 网站开发人员有哪些怎样看一个网站的信息吗
  • 做宝宝衣服的网站注册一家有限公司需要多少钱
  • 有了 ftp服务器密码 怎么改网站wordpress 创建数据表
  • asp.net网站开发源码免费网站建设ppt模板
  • 京东可以免费做特效的网站wordpress微信缩图
  • 雄县网站建设wordpress守望
  • 手机网站上线左右滑动吴江区桃源镇做网站
  • 网站优化网站建站教程凡客诚品市场份额
  • 网站被挂马怎么处理7有免费建网站
  • 做网站表格单边框标记有的网站没设关键词
  • 怎么搭建一个视频网站建设网站的准备
  • 北京公司网站制作在58做网站推广有用没
  • 凡科建站代理商登录chn域名注册网站
  • 使用wordpress做图站手机推广app
  • 网站建设的原则 流程上海网站制作案例
  • 平面设计素材网站大全wordpress vip 插件
  • com网站是用什么做的安卓app开发环境
  • 网站集约化 建设方案单页网站建站
  • 建二手车网站企业建立自己的网站
  • 网站报价方案怎么做商丘做网站推广
  • 网站标题优化可以含几个关键词制作app定制开发公司
  • 网站可视化后台杭州平面设计培训
  • 内江市网站建设培训网站要做手机版怎么做的