MATLAB实现红眼消除(数字图像处理)

该博客介绍了如何使用MATLAB编程实现红眼消除算法,包括图像读取、RGB到HSI色彩空间转换以及去红眼操作。通过用户交互选择眼区并调整参数,实现了对两张眼睛红眼的去除,并提供了RGB2HSI和HSI2RGB转换函数的实现。
摘要由CSDN通过智能技术生成

一、 实验目的
编程实现去红眼算法
二、 实验内容与要求
完成去红眼算法实现
完成两只红眼同时去除的目的
完成图片的输入修改并且输出保存
完成RGB2HSI和HSI2RGB两个函数的编写

三、设计与实现:

主要代码:
% 加载路径
addpath(genpath(‘F:\课程\数字图像处理\实验1-2\素材\去红眼\’));
%addpath包括进调用函数
addpath(genpath(‘F:\课程\数字图像处理\实验1-2\’));
%genpath当前文件夹下所有文件
% 图片读取
[FileName,PathName] = uigetfile(‘F:\课程\数字图像处理\实验1-2\素材\去红眼*.jpg’,‘请选择一幅jpg图像’);
[picture_in,map]=imread(FileName);%imread函数实现图像导入
% imtool(FileName); %imtool函数图像预览
% 彩色判断
if ndims(picture_in)~=3 % ndims函数判断矩阵维度
disp(‘非彩色图像’);
imshow(picture_in); %显示灰度图像
% 参数预设
else %去红眼操作
h1=1/8; %预设对rol区域内-pi/4<H<pi/4,S>0.2的像素点进行去红眼操作
h2=1/8; %H色调,S色饱和度
s=0.2; %色调范围0–1
fprintf('预设对rol区域内-pi/4<H<pi/4,S>0.2的像素点进行去红眼操作,即令S=0\n’)
end
% 区域选定
%先画左眼,再画右眼
fprintf(‘请绘制左眼区域\n’) %绘制去红眼的rol区域࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值