MATLAB 2012 영상처리 , 이미지 중의 코너를 찾아서 유효한 영역만 파일로 저장하는 예
%이미지의 코너를 구하여 표시하기, 디폴트로 200개의 코너를 찾아서 이미지의 빈 여백을 버리고 실제 이미지 영역만 다른 이미지로 저장하는 예 img_arr = imread('인식테스트_000002.jpg'); gray = rgb2gray(img_arr); bw1 = edge(gray, 'sobel'); imshow(gray), figure(), imshow(bw1); C = corner(bw1); figure(); imshow(bw1); hold on plot(C(:,1), C(:,2), '.', 'Color', 'g') %title('Maximum Corners = 200') %hold off mn = min(C); mx = max(C); cropImg = imcrop(gray, [mn(1),mn(2),mx(1)-mn(1),mx(2)-mn(2)]); imwrite(cropImg, 'cropImg.jpg', 'jpg');
MATLAB 2012 영상처리 , 위의 내용을 함수로 작성한 예(CropValidArea.m)
function [ saved ] = CropValidArea(srcFileName, cropFileName ) %UNTITLED Summary of this function goes here % Detailed explanation goes here img_arr = imread(srcFileName); gray = rgb2gray(img_arr); bw1 = edge(gray, 'sobel'); %imshow(gray), figure(), imshow(bw1); C = corner(bw1); %figure(); %imshow(bw1); %hold on %plot(C(:,1), C(:,2), '.', 'Color', 'g') %title('Maximum Corners = 200') %hold off mn = min(C); mx = max(C); cropImg = imcrop(gray, [mn(1),mn(2),mx(1)-mn(1),mx(2)-mn(2)]); imwrite(cropImg, cropFileName, 'jpg'); saved = 1; end