📜  MATLAB中图像的负数

📅  最后修改于: 2021-04-16 05:59:28             🧑  作者: Mango

通过将原始图像中的强度“ i”替换为“ i-1”来实现图像的负片,即,最暗的像素将变为最亮,而最亮的像素将变为最暗。通过从最大强度值中减去每个像素来产生负像。
例如,在8位灰度图像中,最大强度值为255,因此从255中减去每个像素以生成输出图像。
负像中使用的变换函数为:

s = T(r) = (L – 1) – r

Where L - 1 is the max intensity value,
s is the output pixel value and
r is the input pixel value

算法

  1. 使用Matlab内置函数imread()将RGB彩色图像读取到MATLAB环境中
  2. 计算图像的级别,例如8位图像具有256个级别
  3. 在图像的每个像素上使用上述公式可获得相应的负像素值。
  4. 将位置(i,j)处的每个RGB像素值转换为其负图像值并将其分配给另一个矩阵的对应位置(i,j)
  5. 使用Matlab内置的imshow()函数显示负像。
% reading the RGB file into the Matlab environment
skI = imread("sakura.jpg");   
subplot(1, 2, 1),
  
% displaying the RGB image
imshow(skI);
title("Original image");
  
% levels of the 8-bit image
L = 2 ^ 8;    
  
% finding the negative                   
neg = (L - 1) - skI;
subplot(1, 2, 2),
  
% displaying the negative image
imshow(neg);
title("Negative Image")

输出 :