首页
学习
活动
专区
圈层
工具
发布

《数字图像处理》-实验1

实验目标 熟悉 MATLAB 基本运行环境与核心操作界面; 掌握 MATLAB 中图像读取、显示、保存及格式转换的核心函数用法; 学会使用 MATLAB 实现图像灰度处理、二值化处理及图像间四则运算;...将彩色图像转换为灰度图像 % 使用 rgb2gray 函数,通过加权公式将RGB三个通道的亮度值合并为灰度值 I_gray = rgb2gray(A); % 3....(四)灰度值调整与结果保存 实验任务         读取彩色图像并转换为灰度图,将灰度值全局提升(提升幅度为学号尾号,本实验为 87),可视化展示原图、灰度图及调整后图像,并将调整结果保存至自定义文件夹...:灰度值提升后,图像整体亮度明显增加,暗部细节更清晰; 保存说明:使用 imwrite 函数将结果保存为 JPG 格式,通过 fullfile 函数构建跨平台文件路径,确保代码兼容性; 关键函数:imadd...核心函数梳理 函数用途 关键函数 功能说明 图像读写 imread、imwrite 读取图像文件、保存图像结果 格式转换 rgb2gray、im2bw 彩色图转灰度图、灰度图转二值图 图像运算 imadd

13610

截屏为什么都说应该保存为 PNG 格式

如果要比较,应该是PNG 与 GIF 比;而JPG 并无特别适合的对比格式(或与 JPG2000 比)。 JPG 适用于自然或人物照片 颜色数量多、但边界和颜色过渡不尖锐,反而有很强的连续性。...多数非专业的数码相机,拍摄照片后都保存为 JPG 格式。JPG 照片,可以在视觉效果损失很小的情况下,文件尺寸极明显降低。比如,把原大小 3MB的 JPG 照片,另存为500KB,效果仍然可以接受。...便携式网络图形(英語:Portable Network Graphics,PNG)是一种支持无损压缩的位图图形格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。...PNG圖片大多數都使用PNG作为扩展名,其互联网媒体类型为image/png。[1]PNG于1997年3月作为知识性RFC 2083发布,于2004年作为ISO/IEC标准发布。...上面的图都是同样的截屏,保存为不同格式。 在放大 200% 后,发现 JPG 表现明显偏差。 ? JPG 图片的大小是 101 KB ? PNG 格式的图片只有 64 KB ?

1.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    9.27【前端开发】图片文件格式:常见的图片格式对比有何优劣以及如何使用Google的webp格式?

    3、 GIF图片 是一种无损压缩的格式,GIF格式可以用来做动画 总结一下,对于色彩与图像内容比较丰富,变化比较多端的,适合使用jpg,例如大型背景、头像、人物照片等。...WebP最初在2010年发布,目标是减少文件大小,但达到和JPEG格式相同的图片质量,希望能够减少图片档在网络上的发送时间。...根据Google较早的测试,WebP的无损压缩比网络上找到的PNG档少了45%的文件大小,即使这些PNG档在使用pngcrush和PNGOUT处理过,WebP还是可以减少28%的文件大小。...Google webp工具包简介: cwebp -- 将其它图片转为webp格式图片 (不包括GIF) dwebp -- 将webp格式图片转为其它格式图片 gif2webp -- 将GIF转换为webp...png转webp: cwebp star.png -o star.webp ? 显示无损带alpha透明通道的压缩,达到527Bytes。

    3K30

    10.2【前端开发】图片文件格式:常见的图片格式对比有何优劣以及如何使用Google的webp格式?

    3、 GIF图片 是一种无损压缩的格式,GIF格式可以用来做动画 总结一下,对于色彩与图像内容比较丰富,变化比较多端的,适合使用jpg,例如大型背景、头像、人物照片等。...WebP最初在2010年发布,目标是减少文件大小,但达到和JPEG格式相同的图片质量,希望能够减少图片档在网络上的发送时间。...根据Google较早的测试,WebP的无损压缩比网络上找到的PNG档少了45%的文件大小,即使这些PNG档在使用pngcrush和PNGOUT处理过,WebP还是可以减少28%的文件大小。...工具简介: cwebp -- 将其它图片转为webp格式图片 (不包括GIF) dwebp -- 将webp格式图片转为其它格式图片 gif2webp -- 将GIF转换为webp图片 vwebp --...png转webp: cwebp star.png -o star.webp 显示无损带alpha透明通道的压缩,达到527Bytes。

    3.5K31

    matlab中的imwrite_medfilt2函数

    如果 A 属于 logical 数据类型,则 imwrite 会假定数据为二值图像并将数据写入位深度为 1 的文件(如果格式允许)。...n(idx)) ]) drawnow frame = getframe(fig); im{idx} = frame2im(frame); end close; 将多个系列的图像显示在一个图窗中...因为 GIF 文件不支持三维数据,所以应调用rgb2ind,使用颜色图map将图像中的 RGB 数据转换为索引图像A。...DelayTime’,1 在每个动画图像显示之间指定了一秒的时滞。 A – 图像数据 图像数据,指定为满(非稀疏)矩阵。 对灰度图像而言,A 可以是 m×n。...画笔 (PCX) 8 位图像 ‘pgm’ 可移植灰度图(PGM) 任何标准 PGM 图像;使用任意颜色深度编码的 ASCII(普通)图像;每个灰度值最多使用 16 位编码的原始(二进制)图像 ‘png

    3K20

    Opencv 图像处理:图像基础操作与灰度转化

    BMP 格式 Windows系统下的标准位图格式,未经过压缩,一般图像文件会比较大。在很多软件中被广泛应用。...在 Mac 中广泛使用, 非常有利于原稿的复制。很多地方将 TIFF 格式用于印刷。 2.图像尺寸 图像尺寸 图像尺寸的长度与宽度是以像素为单位的。...cv2 #使用opencv中imread函数读取图片, #0代表灰度图形式打开,1代表彩色形式打开 img = cv2.imread('split.jpg',1) print(img.shape) #...8 位:单通道图像,也就是灰度图,灰度值范围2**8=256 24 位:三通道 3*8=24 32 位:三通道加透明度 Alpha 通道 灰度转化 目的 将三通道图像(彩色图)转化为单通道图像(灰度图...cv2.COLOR_GRAY2BGR:单通道转三通道 #导入opencv import cv2 #读入原始图像,使用cv2.IMREAD_UNCHANGED img = cv2.imread("girl.jpg

    2.6K30

    MATLAB数字图像处理学习笔记

    联合图像专家组       .jpg,.jpeg  GIF       图像交换形式        .gif  BMP      Windows位图        .bmp  PNG      ...显示图像 imshow函数可以显示图像,基本语法为imshow(f,G),f为一个数组,G是显示该图像的灰度级数,如果将G省略,则默认的灰度级数是256,如下图所示! ?   ...最后imshow(f,[ ])可以将变量low设置为数组f的最小值,将变量high设置为数组f的最大值。函数imshow的这一形式可以显示一幅动态范围较小的图像既有正值又有负值的图像。   ...函数pixval经常用来交互地显示单个像素的亮度值。该函数可以显示覆盖在图像上的光标。当光标随着鼠标在图像上移动时,光标所在位置的坐标和该点的亮度值会在窗口下方显示出来。...处理彩色图像时,红、绿、蓝分量的坐标也会显示出来。若按住鼠标左键不放,则pixval将显示光标初始位置和当前位置间的欧几里得距离。 使用figure函数,可以同时显示两幅图片 ?

    1.7K50

    python图形验证码模块tesserocr

    ocr图片识别通常可以利用tesserocr模块,将图片中内容识别出来并转换为text并输出 Tesserocr是python的一个OCR识别库,是对tesseract做的一层python APT封装。...可以利用Image对象的convert()方法,传入“L”,将图片转为灰度图像;传入1则对图像进行二值处理(默认阈值127) 原验证码: ?...256个值,为输出图像指定一个新的模式,模式为“L”和“P”的图像进一步转换为模式为“1”的图像 image = img_L.point(table, "1") image.show() ?...需要说明的是,在windows系统上PowerShell通过PIP3 install tesserocr安装验证码识别模块时,需要先安装Tesseract (一款由HP实验室开发由Google维护的开源...通常情况下,我们还需要做些额外的图片处理,如转灰度图,二值化等。 利用Image对应的convert()方法传参L,即可将图片转为灰度图。

    1.8K40

    《数字图像处理》实验5-图像压缩及编码

    二、完整实验内容与代码实现 (一)彩色图转灰度图的压缩比计算 实验任务         读取彩色图像→转换为灰度图→查询图像属性→计算基于文件大小的压缩比。...完整代码 % 读取彩色图像 color_img = imread('天火三玄变.jpg'); % 转换为灰度图 gray_img = rgb2gray(color_img); % 可视化原图与灰度图...(低频系数),四周为接近零的高频系数; 重构图像:与原图视觉一致,矩阵数值高度接近,验证了 DCT 变换的可逆性; 核心:DCT 变换将空间域冗余转换为频域冗余,为后续量化压缩奠定基础。...完整代码 % 读取彩色图像并转换为灰度图 color_img = imread('CSGO.jpg'); I = rgb2gray(color_img); I = im2double(I); % 转换为双精度...完整代码 % 读取图像并转换为灰度图 I = imread('天火三玄变.jpg'); if size(I,3) == 3 I = rgb2gray(I); % 彩色转灰度 end I = im2double

    13410

    计算机视觉(1):数字图像的存储结构

    在单通道模式下,像素被建模为标量值,该数值通过线性映射表征灰阶强度——0值对应纯黑色极值,255值表征纯白色极值,构成经典8位灰度图像的数学表征。这种单变量表示法将三维视觉信息压缩至一维特征空间。...", img) # 保存为JPEG格式,全零矩阵压缩后显示纯黑图像字节流重构验证图像数据在内存中为连续字节序列,可通过改变数组形状重新解释数据维度,验证底层数据连续性。...", img_copy) # 保存纯白图像灰度图转BGR三通道OpenCV的BGR格式使用三维数组(height, width, channels),转换后每个像素复制原始灰度值到三个通道。...", img) # 保存为伪彩色图像(实际显示仍为灰度)动态生成渐变彩色图像通过数学公式为每个通道独立赋值,生成具有空间变化规律的彩色图案。...} Bytes')cv2.imwrite("test_3_3.jpg", img)# 图像其实本质上是一段字节流按照不同的 shape 进行读取# 因此一张图像是可以按照标准的一维字节流方式进行表示的img_bytes

    68941

    《数字图像处理》第 9 章-形态学图像处理

    创建扩展填充掩码(避免漫水填充溢出) fill_mask = np.zeros((h + 2, w + 2), dtype=np.uint8) # 步骤2:从图像边缘(0,0)漫水填充背景(将背景填充为白色...print(f"运行错误:{e}") 9.5.5 细化 原理 细化(Thinning)是将前景区域收缩为单像素宽度的骨架,保留目标的拓扑结构。...print(f"运行错误:{e}") 9.5.6 粗化 原理 粗化(Thickening)是细化的逆运算,将单像素宽度的骨架扩张为一定宽度的区域,保留拓扑结构。...或 ./1.jpg") except Exception as e: print(f"运行错误:{e}") 9.7 二值图像形态学运算 9.8 灰度级形态学 灰度级形态学将二值形态学的运算扩展到灰度图像...灰度形态学重建的原理与二值形态学重建一致,只是将 “集合运算” 替换为 “像素值比较”。

    23410

    【计算机视觉】OpenCV图像处理基础

    OpenCV可以在Linux、Windows、macOS、Android、iOS等系统上运行。OpenCV的出现极大地方便了计算机视觉研究人员的算法验证,得到了众多研究者的喜爱。...在该页面包含了多个操作系统的OpenCV-Python版本,读者应该根据当前使用的操作系统下载相应的OpenCV-Python版本,假设读者使用的是Windows10,需要下载opencv_python...例如,如果将png格式的图像文件book.png改名为book.jpg,imread函数仍然会按png格式读取book.jpg文件。...例如,本例文件名使用了new_book1.jpg,那么就会将book.png图像文件转换为jpg格式的图像文件。...灰度图像通常是8位单通道图像(通道数为1),大多数彩色图像是8位3通道图像(通道数为3),也就是我们常说的RGB格式的图像。

    3.1K20

    【干货】计算机视觉实战系列01——用Python做图像处理

    ▌将图像转换为灰度图像: 我们使用convert()方法来实现图像的灰度转化 Convert()函数会根据传入参数的不同将图片变成不同的模式,通过相关资料我们知道PIL中有九种不同模式。...在PIL中,从模式“RGB”转换为“F”模式是按照下面的公式转换的: F = R * 299/1000+ G * 587/1000 + B * 114/1000 我们以灰度图像为例,将目标图像转换成灰度图像...("L") # 将图片转换为灰度图像 data = np.array(image_gray) plt.imshow(data, cmap=cm.gray) plt.show() 绘制出的灰度图像为:...在显示灰度图像时array()方法将图像转换成NumPy的数组对象,图片得以显示,否则会出现AttributeError的错误。...,该区域使用四元组来指定,四元组的坐标依次是(左,上,右,下)PIL中指定坐标系的左上角坐标为(0,0)。

    3.5K121

    OpenCV 4基础篇| OpenCV图像基本操作

    通道) cv2.IMREAD_ANYDEPTH(2):在输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位 cv2.IMREAD_ANYCOLOR(4):以任何可能的颜色格式读取图像 retval...OpenCV 对图像的任何操作,本质上就是对 Numpy 多维数组的运算。 OpenCV 中彩色图像使用 BGR 格式,而 PIL、PyQt、matplotlib 等库使用的是 RGB 格式。...如果缓冲区为空或损坏,或者使用了错误的标志,函数将无法正确解码图像。 cv2.imdecode() 返回的是一个 NumPy 数组,该数组存储了解码后的图像数据。...hsv:hsv 颜色空间 注意事项: plt.imshow() 可以直接显示 OpenCV 灰度图像,不需要格式转换,但需要使用 cmap=‘gray’ 进行参数设置。...plt.imshow() 可以使用 matplotlib 库中的各种方法绘图,如标题、坐标轴、插值等 plt.imshow() 只是将图像显示在当前的 Matplotlib 图形上。

    1.6K10

    简单易懂最常用的Python图像处理库

    图像本质上是包含数据点像素的标准Numpy数组。 因此,通过使用基本的NumPy操作——例如切片、脱敏和花式索引,可以修改图像的像素值。 ...可以使用skimage加载图像并使用matplotlib显示。...值得一提的是,子模块scipy.ndimage提供了在n维NumPy数组上运行的函数。 该软件包目前包括线性和非线性滤波、二进制形态、B样条插值和对象测量等功能。...然而,它的发展停滞不前,其最后一次更新还是在2009年。幸运的是, PIL有一个正处于积极开发阶段的分支Pillow,它非常易于安装。Pillow能在所有主要操作系统上运行并支持Python 3。...其中, SimpleITK是一个建立在ITK之上的简化层,旨在促进其在快速原型设计、教育以及脚本语言中的使用。

    3.2K20

    Python中cv2 (OpenCV, opencv-python)库的安装、使用方法demo最新详细教程

    它可以运行在多个操作系统上,包括Windows、Linux、macOS等,并支持多种编程语言,如C++、Python、Java等。...安装OpenCV 环境要求 在安装OpenCV之前,确保您的Python环境已正确设置。OpenCV支持Python 3.x版本,并且需要在您的机器上安装Python和pip。...基础使用方法 读取和显示图像 使用OpenCV加载和显示图像非常简单。...以下是一个简单的图像处理示例,展示如何将图像转换为灰度图: import cv2 # 读取彩色图像 image = cv2.imread('example.jpg') # 将图像转换为灰度图 gray_image...cv2.waitKey(0) # 关闭窗口 cv2.destroyAllWindows() cv2.cvtColor():转换图像颜色空间,cv2.COLOR_BGR2GRAY表示将BGR格式图像转换为灰度图

    11K10

    数据读取与数据扩增方法

    (122) # 画布以1行2列的形式显示,设置图片定位为序列2 plt.axis('off') # 子图2坐标轴刻度不显示 ax.imshow(img2) # 将图片2插入子图2 ax.set_title...# 复制图片 print(img.format) # 输出图片格式 print(img.size) # 输出图片(宽度w,高度h) print(img.mode) # 输出图片类型,L为灰度图,RGB...) # 读取img灰度图 cv2.imshow('gray',imgL) # 图片源gray为imgL cv2.imwrite('imgL.jpg',imgL) # 将imgL储存名为imgL.jpg的图片...() #展示画板 imgl = io.imread('PicName.jpg') #读取图片 imgl = color.rgb2grey(imgl) #转换为灰度模式 print(imgl.dtype...在深度学习模型的训练过程中,数据扩增是必不可少的环节。现有深度学习的参数非常多,一般的模型可训练的参数量基本上都是万到百万级别,而训练集样本的数量很难有这么多。

    1.7K10
    领券