Compare commits
4
Commits
d8f90dbc3c
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42f659c3c9 | ||
|
|
07ede89d54 | ||
|
|
1d78a43447 | ||
|
|
fbbdd89bf8 |
No files matched your search
File renamed without changes.
File renamed without changes.
+79
@@ -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');
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
% 读取图片
|
% 读取图片
|
||||||
image = imread('test.jpg');
|
image = imread('EXP_1_2/test.jpg');
|
||||||
|
|
||||||
% 灰度化处理
|
% 灰度化处理
|
||||||
image_gray = rgb2gray(image);
|
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_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);
|
image_add = imadd(image, image_2);
|
||||||
|
|
||||||
% 亮度增加
|
% 亮度增加
|
||||||
@@ -25,13 +25,22 @@ image_reversal = imadjust(image , [0 0 0; 1 1 1], [1 1 1; 0 0 0]);
|
|||||||
|
|
||||||
% 展示照片
|
% 展示照片
|
||||||
figure;
|
figure;
|
||||||
subplot(1,3,1);
|
|
||||||
imshow(image);
|
imshow(image);
|
||||||
title('Original Image'); % 原图
|
title('Original Image'); % 原图
|
||||||
subplot(1,3,2);
|
|
||||||
|
figure;
|
||||||
|
subplot(1,2,1);
|
||||||
|
imshow(image);
|
||||||
|
title('Original Image'); % 原图
|
||||||
|
subplot(1,2,2);
|
||||||
imshow(image_gray);
|
imshow(image_gray);
|
||||||
title('Grayed Image'); % 灰度化图像
|
title('Grayed Image'); % 灰度化图像
|
||||||
subplot(1,3,3);
|
|
||||||
|
figure;
|
||||||
|
subplot(1,2,1);
|
||||||
|
imshow(image_gray);
|
||||||
|
title('Grayed Image'); % 灰度化图像
|
||||||
|
subplot(1,2,2);
|
||||||
imshow(image_imbinarize);
|
imshow(image_imbinarize);
|
||||||
title('Binary Image'); % 二值化图像
|
title('Binary Image'); % 二值化图像
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user