数字图像处理——灰度级分层

news/2024/10/28 23:35:33/

灰度级分层的两种基本形式如下:

一:将感兴趣的范围内的灰度值显示为一个值,而其他灰度值显示为另一个值

二:将感兴趣的范围内的灰度值变亮或变暗,而其他灰度值保持不变

Python实现过程如下:

使用的图像资源为:

 定义新图片生成函数和分层函数:

def logarithm_transformation(img, func):img_data = np.array(img)a = np.shape(img_data)new_img = [[] for _ in range(a[0])]for i in range(a[0]):for j in range(a[1]):data = img_data[i][j]new_data = func(data)new_img[i].append(new_data)return new_img

 第一种分层方式,所有灰度值大于150的灰度,全部设为255,其他的灰度设为0:

def power_law1(data):new_data = 0if data >= 150:new_data = 255else:new_data = 0return new_data

 第二种分层方式,所有灰度值大于150的灰度,全部设为255,其他的灰度值不变:

def power_law2(data):new_data = []if data >= 150:new_data = 255else:new_data = datareturn new_data

 函数调用和可视化如下:

方法一:

img_new = logarithm_transformation(img, power_law1)plt.figure(figsize=(60,107))
plt.subplot(121)
plt.axis('off')
plt.imshow(img_new, cmap='gray')plt.subplot(122)
plt.axis('off')
plt.imshow(img, cmap = 'gray')plt.show()

 左侧为结果,右侧为原图像:

 

 方法二:

img_new = logarithm_transformation(img, power_law2)plt.subplot(121)
plt.axis('off')
plt.imshow(img_new, cmap='gray')plt.subplot(122)
plt.axis('off')
plt.imshow(img, cmap = 'gray')plt.show()

 左侧为结果,右侧为原图像:

 


http://www.ppmy.cn/news/858713.html

相关文章

数字图像处理实验1.1:matlab实现减少图像灰度级

Digital Image Processing 1. Reducing the Number of Gray Levels in an Image 减少图像中的灰度级别的数量 (a)编写一个计算机程序,能够将图像中的灰度数从256减少到2,整数幂为2。所需的灰度级别的数量需要是程序的可变输入。 (b)下载图。2.21(a)&am…

Matlab 读取图像并且显示灰度级 精简 即学即用

程序如下: clc, clear, close all;I imread(ngc6543a.jpg);J rgb2gray(I);figure, imshow(J); clc --- 清除命令窗口命令 clear --- 删除所有之前声明赋值过的变量,并且释放系统内存 close all --- 关闭matlab的弹出来的所有子窗口 imread(path) …

1.求一幅600×800的黑白图像、 16灰度级图像、256灰度级图像,分别需要多少字节的存储空间?

(1)黑白图像:b600*800480000/8/102458.59KB (2)16灰度级图像:162^4,即k4,b600*800*41920000b240000B234.37KB (3)256灰度级图像:2562^8&#xf…

数字图像处理学习笔记(二):图像灰度级的增加、减少

实验截图: 图像灰度级阶梯 实验代码: img1 imread(erciyuan.jpg); img2 rgb2gray(img1); for i0:7 img (uint8(img2/(2^i)))*(2^i); %灰度级逐渐递减的过程 subplot(2,4,i1), imshow(img,[]); title( [ ,num2str(2^(8-i)),级灰度图像]); %设置…

实验2-图像灰度级减少和图像缩放

1 摘要 本实验实现灰度级减少和图像缩放的功能,主要分三个部分:编写一个以2的幂次方将给定图像的灰度级从256减少到2的程序;编写一个基于像素复制方式进行图像缩放的程序;编写一个以双线性插值技术进行图像缩放的程序&#xff0c…

matlab-图形采样及灰度级转换

目录 一、图像采样 1、实验内容 2、采样原理 3、实验程序 4.实验结果与分析 5.思考题 二、图像类型转换 1、实验内容 2.实验原理 3、程序 4.实验结果与分析 5. 思考题 一、图像采样 1、实验内容 试对任意一幅图像分…

灰度级的扩展与压缩

这里使用matlab实现laplacian图像锐化的一个例子: I_g imread(3.tif); imtool(I_g) % 使用laplacian进行图像锐化,该过程会产生负值,因此需要使用double类型 w fspecial(laplacian,0); I_g_d double(I_g); g imfilter(I_g_d,w,replicate)…

灰度级插值

2.1.4 灰度级插值 %读取yifanfengshun.jpg图片 Iimread(yifanfengshun.jpg); %将真彩色图像转换为灰度图像 Irgb2gray(I); %采用最邻近插值法进行灰度插值; X1imresize(I,1); %采用双线性插值法进行灰度插值; X2imresize(I,1,bilinear); %采用三…