对图片进行基本运算

上下切断

对低于n的灰度值固定为n,高于m的灰度值固定为m。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg"');
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 设置灰度值切断的上限和下限
n = 80;
m = 180;
OriginalGrayImage = grayImage;
% 对低于n的灰度值固定为n
grayImage(grayImage < n) = n;
% 对高于m的灰度值固定为m
grayImage(grayImage > m) = m;
% 在同一窗口内并排显现原始图画和处理后的图画
figure;
subplot(1, 2, 1); % 切割窗口为12列,并定位到第1个方位
imshow(OriginalGrayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(grayImage), title('Truncated Image');ayImage), title('Truncated Image');

作用

运用matlab对图片灰度值进行简略的运算修正

补偿

对所有像素灰度值提高50,超出255的部分算255。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg");
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 提高所有灰度值n,但不超越255
n = 50; % 能够根据需要更改此值
enhancedImage = grayImage   n;
enhancedImage = min(enhancedImage, 255); % 确保灰度值不超越255
% 在同一窗口内并排显现原始图画和增强后的图画
figure;
subplot(1, 2, 1); % 切割窗口为1行2列,并定位到第1个方位
imshow(grayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(enhancedImage), title('Enhanced Image');

作用

运用matlab对图片灰度值进行简略的运算修正

平方

对灰度值做平方处理,超出255的部分算255。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg");
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 对灰度值进行平方处理
squaredImage = double(grayImage).^2;
% 约束最大值不超越255
squaredImage = min(squaredImage, 255);
% 将处理后的图画转换回uint8类型以便显现
squaredImage = uint8(squaredImage);
% 在同一窗口内并排显现原始图画和处理后的图画
figure;
subplot(1, 2, 1); % 切割窗口为1行2列,并定位到第1个方位
imshow(grayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(squaredImage), title('Squared Image');

作用

运用matlab对图片灰度值进行简略的运算修正

方根

对灰度值做方根处理。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg");
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 对灰度值进行平方处理
squaredImage = double(grayImage).^2;
% 约束最大值不超越255
squaredImage = min(squaredImage, 255);
% 将处理后的图画转换回uint8类型以便显现
squaredImage = uint8(squaredImage);
% 在同一窗口内并排显现原始图画和处理后的图画
figure;
subplot(1, 2, 1); % 切割窗口为1行2列,并定位到第1个方位
imshow(grayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(squaredImage), title('Squared Image');

作用

运用matlab对图片灰度值进行简略的运算修正

求反

将每个像素的灰度值从当时值转换为255减去当时值。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg");
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 对灰度值进行求反处理
invertedImage = 255 - grayImage;
% 在同一窗口内并排显现原始图画和求反处理后的图画
figure;
subplot(1, 2, 1); % 切割窗口为1行2列,并定位到第1个方位
imshow(grayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(invertedImage), title('Inverted Image');

作用

运用matlab对图片灰度值进行简略的运算修正

放缩

将灰度值乘以n倍,假如超越255则依照255算。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg");
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 设置放大倍数n
n = 2; % 例如放大2倍,您能够根据需要调整这个值
% 将灰度值乘以n倍
scaledImage = double(grayImage) * n;
% 约束最大值不超越255
scaledImage = min(scaledImage, 255);
% 将处理后的图画转换回uint8类型以便显现
scaledImage = uint8(scaledImage);
% 在同一窗口内并排显现原始图画和放缩后的图画
figure;
subplot(1, 2, 1); % 切割窗口为1行2列,并定位到第1个方位
imshow(grayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(scaledImage), title('Scaled Image');

作用

运用matlab对图片灰度值进行简略的运算修正

Gamma

将灰度值做次方运算。

matlab代码

% 读取图画
originalImage = imread("D:Projectprogrammes数字图画处理R.jpg");
% 假如图画是彩色的,则转换为灰度图画
if size(originalImage, 3) == 3
    grayImage = rgb2gray(originalImage);
else
    grayImage = originalImage;
end
% 设置Gamma值
gamma = 1.1; % 举例运用1.1,能够根据需要调整
% 使用Gamma运算
gammaCorrectedImage = double(grayImage).^gamma;
% 将处理后的图画转换回uint8类型以便显现
gammaCorrectedImage = uint8(gammaCorrectedImage);
% 在同一窗口内并排显现原始图画和Gamma处理后的图画
figure;
subplot(1, 2, 1); % 切割窗口为1行2列,并定位到第1个方位
imshow(grayImage), title('Original Image');
subplot(1, 2, 2); % 定位到第2个方位
imshow(gammaCorrectedImage), title(['Gamma Corrected Image, Gamma = ', num2str(gamma)]);

作用

运用matlab对图片灰度值进行简略的运算修正