方法一

#灰度图像和彩色图像的读取、显示。图像求反。
#图像库导入
from PIL import Image
# numpy约定是别名np
import numpy as np#彩色图片位置 D:/桌面 C盘移过来/数字图像处理实习/数字图像处理彩色图像.jpg
#灰度图片位置 D:/桌面 C盘移过来/数字图像处理实习/数字图像处理灰度图像.jpga = input('请输入灰度图像或者彩色图像的地址:')
image = Image.open(a)# 展示图片
image.show()# 将照片转换为矩阵
image_array = np.array(image)# 图形是3维的 (高度 宽度 RGB通道(3维R,G,B)),dtype返回数据元素的数据类型
print(image_array.shape,image_array.dtype)# 求补值 就是灰度图。
b = [255, 255, 255] - image_array# 数据处理,数据保存为图片数字格式
after_im = Image.fromarray(b.astype('uint8'))print('图像取反之后的图像(图像取反.jpg)保存在相同路径里')
after_im.save('图像取反.jpg')#打开给定的图像文件
image = Image.open('图像取反.jpg')#打开图像取之后反的图像
after_im.show()

方法二

import matplotlib.pyplot as plt  # plt 用于显示图片
import matplotlib.image as mpimg  # mpimg 用于读取图片
from PIL import Image
import numpy as np # 导入库  address = input('请输入灰度图像或者彩色图像的地址:')
#打开显示图像 数字图像处理彩色图像.jpg 数字图像处理灰度图像.jpg
lena = mpimg.imread(address)  # 读取和代码处于同一目录下的数字图像处理灰度图像.jpg
# 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理
lena.shape  # (512, 512, 3)  plt.imshow(lena)  # 显示图片,不显示坐标轴
#plt.axis('off')  # 不显示坐标轴
plt.show()  im = np.array(Image.open(address))  b = [255, 255, 255] - im # 对im图像的RGB值取反, 因为RGB最大是255  new = Image.fromarray(b.astype('uint8')) # 生成图片
plt.imshow(lena)
new.save('图像取反.jpg')# 保存图片
plt.imshow(new)
plt.show()  

方法三

import matplotlib.pyplot as plt  # plt 用于显示图片
import matplotlib.image as mpimg  # mpimg 用于读取图片
from PIL import Image
import numpy as np # 导入库
import pylab #快速进行计算和绘图address = input('请输入灰度图像或者彩色图像的地址:')
#打开显示图像 数字图像处理彩色图像.jpg 数字图像处理灰度图像.jpg
lena = mpimg.imread(address)  # 读取和代码处于同一目录下的数字图像处理灰度图像.jpg
# 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理
lena.shape  # (512, 512, 3)plt.imshow(lena)  # 显示图片,不显示坐标轴
#plt.axis('off')  # 不显示坐标轴
plt.show()im = np.array(Image.open(address))b = [255, 255, 255] - im # 对im图像的RGB值取反, 因为RGB最大是255new = Image.fromarray(b.astype('uint8')) # 生成图片
plt.imshow(lena)
new.save('图像取反.jpg')# 保存图片
plt.imshow(new)
pylab.show()

结果

方法一运行结果:

方法二运行之后,输入彩色/灰度图像的位置:

①如果输入的是彩色图像的地址,会打开彩色图像(左):

②关闭之后,会显示图像的高度、宽度、通道数、数据类型

③然后会打开并保存图像取反之后的图像(右):

①如果输入的是灰色图像的地址,会打开彩色图像(左):

②关闭之后,会显示图像的高度、宽度、通道数、数据类型

③然后会打开并保存图像取反之后的图像(右):

方法三运行结果(彩色图像):

Python灰度图像和彩色图像的读取、显示。图像求反。相关推荐

  1. 9.2 图像类型(灰度图像、彩色图像、二值图像以及图像间的转换)

    常用0表示黑色,255表示白色,用0到255之间的数表示灰度 1.灰度图像 例1:生成一个灰色图像,并显示 A = [0 230; 255 60; 30 100]; A = uint8(A); ims ...

  2. python图片保存_Python中读取,显示,保存图片的方法

    一 opencv importcv2 as cv#load img =cv.imread(imagepath)#shape=(height, width, channel) h,w,c =img.sh ...

  3. 灰度图像和彩色图像是怎么来的?如何计算一张图片的大小?像素和分辨率分别是什么?它们之间有什么关系?我们平时所说显示器的1080p、2k和4k分别指的是什么?

    文章目录 前言 一.什么是灰度图像和彩色图像? 1.1什么是像素? 1.2什么是分辨率? 1.3灰度图像和彩色图像? 1.4计算图片大小 1.5什么是压缩率? 二.显示器的1080p.2k和4k指的是 ...

  4. python下:用 matplotlib.pyplot 显示 Opencv 读取的图像

    在涉及图像处理时,我们通常用opencv去读取并处理图像,而用matplotlib去显示图像,因为opencv有很强的图像处理能力,而matplotlib有很强的可视化能力,可以方便的可视化分析实验的 ...

  5. python 3.8.0版本的skimage库是什么_python的skimage库 图像读取显示

    单幅图像读取并显示 代码 """ 读取图像并显示 """ import matplotlib.pyplot as plt import ma ...

  6. 同时基于c++与python版本的opencv进行读取,显示,修改,保存图片操作

    文章目录 同时基于c++与python版本的opencv进行读取,显示,修改,保存图片操作 一.基于c++的opencv 1.c++版本代码 2.代码结果展示 3.API构成及其参数说明 4.注意事项 ...

  7. 真彩色图像,索引色图像,灰度图像, 二值图像之间的相互变换(Matlab实现)

    根据图像数据矩阵解释方法的不同,MATLAB 把其处理为 4 类: RGB 图像(Binary images): 一幅 RGB 图像就是彩色像素的一个 M×N×3 数组,其中每一个彩色相似点都是在特定 ...

  8. Python PYQT5中用Label控件显示以numpy表示的灰度图像

    Python PYQT5中用Label控件显示以numpy表示的图像 rgb_img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) # 灰度转为RGB q_img = ...

  9. Python中读取,显示,保存图片的方法

    Python中操作图像的方法包括opencv,matplotlib,PIL. (一) opencv: import cv2 as cv # load img = cv.imread(imagepath ...

最新文章

  1. shell脚本参数$10问题
  2. c语言日期编程,C语言编程计算第二天日期示例代码
  3. 决策树模型回归可视化分析_【时间序列分析】在论文中用向量自回归(VAR)模型时应注意哪些问题?...
  4. android socket 服务,android 创建socket 通信型service
  5. CTF个人总结指南(更新中)
  6. oracle的等保,Oracle等保测评相关指令
  7. linux ntfs 用户权限,linux权限及ntfs文件系统权限的知识
  8. 太难了,斯坦福AI报告曝光!全球190万会AI,中国有5万
  9. java 2 %3c%3c 3_Shiro 实战(二)-授权
  10. python和vba哪个难_VBA和Python到底哪个比较难学?
  11. GsonFormat插件使用
  12. 【FFmpeg】srs引入ffmpeg转码
  13. 云栖大会day2总结 上午
  14. Phoenix错误信息: Malformed connection url
  15. 关于数据可视化图表的制作,你需要关注的30个小技巧
  16. 计算机的未来无可限量英文,(整理笔记)Day86【BBC】无人驾驶5:无人驾驶已是大势所趋 The trend of driverless cars is unstoppable...
  17. 软件评测和测试国家现行标准
  18. mac pdf去水印_PDF水印工具Mac版
  19. c语言中 %d与%2d与%02d的区别在哪里
  20. 新手上路:什么是API接口

热门文章

  1. 基于gibbs采样的topic over time
  2. base64入流出流区别
  3. 深度聚类:将深度表示学习和聚类联合优化
  4. 实时性,更强大 | 瑞芯微3568开发板实时系统测评
  5. 读《NFCMF: Noise Filtering and CrossModal Fusion for Multimodal Sentiment Analysis》
  6. a|b 与 ab 与 a^b
  7. 计算机技术结题报告,计算机图形学课程结题-报告选题:
  8. 【蓝桥杯历年题】2020蓝桥杯第十一届A组省赛第一场(7.5)【含Acwing提交地址】
  9. 大连理工大学校长助理李俊杰教授来校调研
  10. “泰迪杯” 挑战赛 - 利用协同过滤与卷积神经网络为电视产品制订智能化营销推荐