要求:
使用matlab将一张图像的校徽部分变成红色,背景保持不变。
实现:
1.新建一个code.m文件,将文件与图像放在同一个目录下
2.在code.m中添加如下代码:
% 读取图像
file_name = "校徽.png";
image = imread(file_name);
% 分离校徽区域(示例使用阈值分割)
gray_image = rgb2gray(image);
threshold = graythresh(gray_image);
binary_image = imbinarize(gray_image, threshold);
% 创建一个新图像
new_image = image;
new_image(:, :, 1) = 255; % 将红色通道的值设置为255(表示最大亮度)
new_image(:, :, 2) = 0; % 将绿色通道的值设置为0
new_image(:, :, 3) = 0; % 将蓝色通道的值设置为0
new_image(repmat(binary_image, [1, 1, 3])) = image(repmat(binary_image, [1, 1, 3]));
% 显示新图像
imshow(new_image);
% 保存图像
new_file_name = "新校徽.png";
imwrite(new_image,new_file_name);
运行结果:
校徽变色
以上.