用2023a版matlab写一段将四副256*256的灰度图像I1、I2、I3、I4进行灰度加权平均图像融合后的图像进行几何质心提取固定大小的有效区域,将标准图像内切圆中的内接正方形区域确定为标准图像的有效区域
时间: 2024-03-12 16:48:30 浏览: 15
以下是使用2023a版MATLAB编写的将四幅256x256的灰度图像进行灰度加权平均图像融合后的图像进行几何质心提取固定大小的有效区域,将标准图像内切圆中的内接正方形区域确定为标准图像的有效区域的代码:
```matlab
% 读取四幅灰度图像
I1 = imread('image1.jpg');
I2 = imread('image2.jpg');
I3 = imread('image3.jpg');
I4 = imread('image4.jpg');
% 灰度加权平均图像融合
G = 0.25*I1 + 0.25*I2 + 0.25*I3 + 0.25*I4;
% 提取几何质心
s = regionprops(G, 'Centroid');
centroid = s.Centroid;
% 确定内接正方形的边长
R = min(size(G))/2;
L = 2*R/sqrt(2);
% 确定有效区域的边界
x1 = centroid(1) - L/2;
y1 = centroid(2) - L/2;
x2 = centroid(1) + L/2;
y2 = centroid(2) + L/2;
% 将有效区域限制在图像范围内
x1 = max(x1, 1);
y1 = max(y1, 1);
x2 = min(x2, size(G, 2));
y2 = min(y2, size(G, 1));
% 显示原始图像和有效区域
figure;
subplot(1,2,1); imshow(G); title('原始图像');
hold on;
rectangle('Position',[x1 y1 L L],'EdgeColor','r','LineWidth',2);
subplot(1,2,2); imshow(G(y1:y2, x1:x2)); title('有效区域');
```
在上述代码中,我们首先读取了四幅灰度图像,然后将它们进行灰度加权平均图像融合,得到图像G。接着,使用regionprops函数提取图像G的几何质心。然后,根据标准图像的内切圆确定内接正方形的边长,从而确定有效区域的边界。最后,将有效区域限制在图像范围内,并在原始图像上显示有效区域。