Compare commits

..

2 Commits

Author SHA1 Message Date
1d78a43447 完成 2025-05-28 19:35:21 +08:00
fbbdd89bf8 完成实验四 2025-05-28 19:33:10 +08:00
5 changed files with 82 additions and 3 deletions

79
EXP_four.m Normal file
View File

@ -0,0 +1,79 @@
%
image = imread('EXP_3_4/test.jpg');
image_airport = imread('EXP_3_4/airport.jpg');
image_circuit = imread('EXP_3_4/circuit.png');
image_circle = imread('EXP_3_4/circle.jpg');
%
image_gray = rgb2gray(image);
image_airport_gray = rgb2gray(image_airport);
image_circle_gray = rgb2gray(image_circle);
% log
image_log = edge(image_gray, 'log');
% canny
image_canny = edge(image_gray, 'canny');
image_circuit_canny = edge(image_circuit, 'canny');
%
image_corners = corner(image_airport_gray, 'Harris');
% Hough
[Hough, theta, rho] = hough(image_circuit_canny);
% Hough
P = houghpeaks(Hough, 10, 'Threshold', ceil(0.3 * max(Hough(:)))); % 10
% 线
lines = houghlines(image_circuit_canny, theta, rho, P, 'FillGap', 20, 'MinLength', 30);
%
[centers, radii] = imfindcircles(image_circle_gray, [50 100], 'ObjectPolarity', 'bright', 'Sensitivity', 0.92);
%
figure;
subplot(1,3,1);
imshow(image);
title('Original Image'); %
subplot(1,3,2);
imshow(image_log);
title('Log Edge Detection'); % Log
subplot(1,3,3);
imshow(image_canny);
title('Canny Edge Detection'); % Canny
figure;
subplot(1,2,1);
imshow(image_airport);
title('Original Image'); %
subplot(1,2,2);
imshow(image_airport);
title('Corner Detection'); %
hold on;
plot(image_corners(:,1), image_corners(:,2), 'r*');
% 线
figure;
imshow(image_circuit);
hold on;
title('Line Edge Detection'); %线
for k = 1:length(lines)
xy = [lines(k).point1; lines(k).point2]; %
plot(xy(:,1), xy(:,2), 'LineWidth', 2, 'Color', 'green');
%
plot(xy(1,1), xy(1,2), 'x', 'Color', 'yellow');
plot(xy(2,1), xy(2,2), 'x', 'Color', 'red');
end
figure;
subplot(1,2,1);
imshow(image_circle);
title('Original Image'); %
subplot(1,2,2);
imshow(image_circle);
title('Coin Edge Detection'); %
hold on;
viscircles(centers, radii, 'EdgeColor', 'r');

View File

@ -1,5 +1,5 @@
%
image = imread('test.jpg');
image = imread('EXP_1_2/test.jpg');
%
image_gray = rgb2gray(image);
@ -14,7 +14,7 @@ image_sample2 = image(1:n:end, 1:n:end,:);
image_sample4 = image(1:m:end, 1:m:end,:);
%
image_2 = imread('photo.jpg');
image_2 = imread('EXP_1_2/photo.jpg');
image_add = imadd(image, image_2);
%

View File

@ -1,5 +1,5 @@
%
image = imread('test.jpg');
image = imread('EXP_1_2/test.jpg');
%
image_gray = rgb2gray(image);

BIN
photo.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

BIN
test.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB