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

黄埔区网站建设重庆沙坪坝地震

黄埔区网站建设,重庆沙坪坝地震,网页设计网站费用,苏州排名搜索优化一,问题描述 我们在利用opencv的imread读取本地图像,进行一系列处理,但是发现用matplotlib库的imshow()函数显示的时候出现色彩改变,比如图像偏黄,偏红,偏蓝等等,但是对…

一,问题描述

我们在利用opencv的imread读取本地图像,进行一系列处理,但是发现用matplotlib库的imshow()函数显示的时候出现色彩改变,比如图像偏黄偏红偏蓝等等,但是对图像的处理并没有对色彩进行过改变。比如下面图像读取显示后直接变为黄色调:

 代码如下:

# encoding:utf-8
import cv2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号img_1 = cv2.imread('sp_noise.jpg')
img_2 = cv2.imread('medianBlur.jpg')
img_3 = cv2.imread('mean.jpg')
img_4 = cv2.imread('Gaussian.jpg')# 显示图形
titles = ['噪声图像', '中值滤波', '均值滤波 ', '高斯滤波']
images = [img_1, img_2, img_3, img_4]
for i in range(4):plt.subplot(2, 2, i + 1)plt.imshow(images[i])plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.show()

二,原因分析

这种色彩偏黄的问题通常是由于图像的颜色通道解释不正确引起的。在OpenCV中,cv2.imread默认读取图像为BGR颜色通道顺序,而Matplotlib中plt.imshow默认将颜色通道解释为RGB。因此,当你用cv2.imread读取图像并用plt.imshow显示时,颜色通道顺序不匹配,导致颜色显示不正确。

三,解决方法

为了解决这个问题,你可以在使用cv2.imread读取图像时,将其转换为RGB颜色通道顺序,或者在使用plt.imshow显示图像时,指定颜色通道的顺序。以下是两种解决方法:

1.在cv2.imread()读取图像后将图像转化为RGB通道

# 将BGR图像转换为RGB
img_1 = cv2.cvtColor(img_1, cv2.COLOR_BGR2RGB)
img_2 = cv2.cvtColor(img_2, cv2.COLOR_BGR2RGB)
img_3 = cv2.cvtColor(img_3, cv2.COLOR_BGR2RGB)
img_4 = cv2.cvtColor(img_4, cv2.COLOR_BGR2RGB)

2.在plt.imshow()图像后将其转换成BGR通道

plt.imshow(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB))

 四,完整代码

方法1:将图像转换为RGB颜色通道顺序

import cv2
import matplotlib.pyplot as pltimg_1 = cv2.imread('sp_noise.jpg')
img_2 = cv2.imread('medianBlur.jpg')
img_3 = cv2.imread('mean.jpg')
img_4 = cv2.imread('Gaussian.jpg')# 将BGR图像转换为RGB
img_1 = cv2.cvtColor(img_1, cv2.COLOR_BGR2RGB)
img_2 = cv2.cvtColor(img_2, cv2.COLOR_BGR2RGB)
img_3 = cv2.cvtColor(img_3, cv2.COLOR_BGR2RGB)
img_4 = cv2.cvtColor(img_4, cv2.COLOR_BGR2RGB)# 显示图形
titles = ['噪声图像', '中值滤波', '均值滤波', '高斯滤波']
images = [img_1, img_2, img_3, img_4]
for i in range(4):plt.subplot(2, 2, i + 1), plt.imshow(images[i])plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.show()

方法2:指定plt.imshow中的颜色通道顺序

import cv2
import matplotlib.pyplot as pltimg_1 = cv2.imread('sp_noise.jpg')
img_2 = cv2.imread('medianBlur.jpg')
img_3 = cv2.imread('mean.jpg')
img_4 = cv2.imread('Gaussian.jpg')# 显示图形,指定颜色通道顺序为BGR
titles = ['噪声图像', '中值滤波', '均值滤波', '高斯滤波']
images = [img_1, img_2, img_3, img_4]
for i in range(4):plt.subplot(2, 2, i + 1), plt.imshow(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB))plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.show()

 今日一笑:

范小勤:“我要开挖掘机”

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

相关文章:

  • jsp建网站合肥电子商务网站建设
  • 网站如何设定关键词酷站是什么网站
  • 养殖推广网站怎么做互联网站备案登记表
  • 公司建设网站属于什么费用百度搜索引擎的网址
  • 注册个人网站要多少钱郑州人才市场网站
  • 能打开各种网站的浏览器下载合集中建八局招聘最低学历
  • 招商网站建设简介wordpress 中文企业主题
  • 国内域名网站有那些怎么样制作网页
  • 淘宝客如何免费做网站网上购物平台哪个好
  • 在线视频网站 一级做爰片品牌故事经典案例
  • 手机网站开发模拟手机wordpress三栏模板
  • 做谷歌网站使用什么统计代码吗域名备案名称
  • 深圳网络营销网站推广方法云南云岭建设集团官方网站
  • 建设银行假网站顺德网站制作有哪些公司
  • 做外国网站买域名网店免费注册
  • 上海网站建设费用多少微信小程序怎么删除
  • 惠州网站制作定制网站手机采集
  • 广东网站建设类公司安卓app开发需要学什么
  • 网站群内容管理系统的设计与实现赣州网站建设江西网站建设
  • 榆次网站建设公司wordpress 自定义标签云
  • 网站建设业务终止合作范本短视频营销推广公司
  • 石家庄网站开发建设wordpress没有function.php
  • 郑州网站制作建设公司网站建设需要注意事项
  • 西安网页设计培训网站seo优化方案策划书
  • 怎么制作网站导航页企业网站域名注册查询
  • 聊城优化网站建设2023年央选职位表
  • 免费做网站推广vs2005做的网站转换为2012
  • 机房建设网站模板北京十大活动策划公司
  • 长春建站网站建设广州一起做网店网站
  • 哪里有零基础网站建设教学服务wordpress adminlte