利用HSV提取血流信号
思路一: 直接提取RGB图像中R>B和R<B部分
遇到的困难:
- 由于设备原因,部分图像偏紫色,因此很难正确识别彩色区域。
- 即使可以正确识别彩色区域,因图像受压缩影响,无法正确判断边界。
思路二:先提取HSV图像中高H部分,再提取RGB图像中R>B和R<B部分
具体地,利用彩色区域和白色区域高H,先将这些区域取出。再判断R和B大小,若R>B则为红色,R=B则为白色,R<B为蓝色。
此时大部分图像均能正常识别。
遇到的困难:
这一方法还是会受思路一提到的第一个困难的影响,部分图像无法正常识别。
思路三:完全利用HSV来识别
此时,所有图像均能正确识别。具体流程:
- 将图片转为HSV格式
- 利用亮度V和饱和度S确定彩色区域
- 利用H确定是红色还是蓝色
MATLAB代码:
1 | rgb = imread(...); |