当前位置: 首页 > 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.15wanjia.com/news/32986.html

相关文章:

  • 备案期间关闭网站茶叶seo网站推广与优化方案
  • 可以做puzzle的网站迅速上排名网站优化
  • 工作1月工资257元广州网站优化服务
  • 湖南环达公路桥梁建设总公司网站百度数据指数
  • 网站卡密怎么做使用最佳搜索引擎优化工具
  • 如何下载别人wordpress定制的主题杭州seo技术
  • 长春做网站多少钱网络广告投放平台
  • 工业做网站seo快速优化报价
  • 无锡高端网站开发全媒体运营师培训机构
  • seo站长工具平台网络营销常用的工具和方法
  • 网站模板制作视频教程线上网络平台推广
  • html做高逼格网站手机百度搜索引擎
  • 玉溪做网站建设的公司国内最好用的免费建站平台
  • 招商加盟网站开发什么是电商?电商怎么做
  • 河南省住房和城乡建设厅新网站简述seo的概念
  • 登封建设局网站新的营销模式有哪些
  • 个人网站做商城会怎样手机网站百度关键词排名查询
  • 哪个网站做的系统好用谷歌chrome
  • 速效成交型网站推广信息怎么写
  • 优质做网站费用免费广告制作软件
  • 房地产做网站的意义成年s8视频加密线路
  • wordpress字母头像百度seo排名
  • 做网站应该选择怎样的公司拍照搜索百度识图
  • 厦门网站建站焦作seo公司
  • 在线做txt下载网站百度识图在线入口
  • 开个网站做代理服务器株洲网站设计
  • wordpress文章分类页面短视频关键词优化
  • 携程网站建设目的搜索引擎网站有哪些
  • 网站建设补贴是经信局的政策吗万网官网首页
  • 上海有哪些网站设计公司武汉seo排名