【Matlab学习手记】简单的印章提取

简单的印章提取程序

网上随便找了一幅图,效果如下:

【Matlab学习手记】简单的印章提取_第1张图片

 原理:主要根据R、G、B三个颜色分量的差异来实现。

这个程序比较简单,要求印章颜色和背景文字颜色有明显差异,这样方便根据RGB的差异来提取目标信息。

clear; clc;
imData = imread('test.jpg');
[m, n, r] = size(imData);
reData = imData;
for i = 1 : m
    for j = 1 : n
        mini = min(imData(i,j,:));
        maxi = max(imData(i,j,:));
        if maxi - mini < 10   % 根据实际情况修改         
            reData(i, j, 1) = 255;
            reData(i, j, 2) = 255;
            reData(i, j, 3) = 255;
        elseif maxi - mini < 100
            reData(i, j, 1) = 255;
        else
            reData(i, j, 1) = 255;
            reData(i, j, 2) = 50;
            reData(i, j, 3) = 50;
        end
    end
end
subplot(1, 2, 1)
imshow(imData)
subplot(1, 2, 2)
imshow(reData)

 

你可能感兴趣的:(Matlab学习手记)