Matlab底层源代码实现Halcon scale_image_max算子效果

前言

按照最大值灰度拉伸至0到255,可以实现灰度拉伸,常用于图像预处理过程中,这里给出Matlab实现的过程。

Matlab实现源代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%图像的最大灰度拉伸,类似scale_image_max
%Author:Zhu
%时间:2022.6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
image = imread("F:\\fabrik.png");
image_matrix=image(:,:,1);
image_matrix=double(image_matrix);
[height,width,channels]=size(image);
image_out = zeros(height,width);

currentMin = image_matrix(1,1);
currentMax = image_matrix(1,2);

%先找出图像灰度的最大,最小值
for i=1:height
    for j=1:width
       if(image_matrix(i,j)>currentMax)
           currentMax = image_matrix(i,j);
       elseif(image_matrix(i,j)<currentMin)
           currentMin = image_matrix(i,j);
       end
    end
end

%根据目标灰度拉伸
targetMin = 0;
targetMax = 255;

%对灰度进行拉伸
for i=1:height
    for j=1:width
       image_out(i,j)= targetMin+((image_matrix(i,j)-currentMin)*(targetMax-targetMin))/(currentMax-currentMin);
    end
end

%显示图像
image_out = uint8(image_out);
subplot(1,2,1);
imshow(image);
subplot(1,2,2);
imshow(image_out);

Halcon算子

scale_image_max (Image, ImageScaleMax)

Matlab与Halcon实现效果比对

Matlab实现效果
Matlab底层源代码实现Halcon scale_image_max算子效果_第1张图片
Halcon实现效果
Matlab底层源代码实现Halcon scale_image_max算子效果_第2张图片

你可能感兴趣的:(matlab,matlab,图像处理,开发语言)