项目内容
手臂静脉识别,USB红外摄像头拍摄画面,实时的对图像进行处理。
BUG出现
在考虑使用CLAHE对图像进行增强时
// CLAHE图像增强
Mat dst;
Ptr<CLAHE> clahe = createCLAHE();
clahe->apply(srcRoiImage, dst);
imshow("CLAHE",dst);
运行阶段出现了如下报错:
OpenCV Error: Assertion failed (_src.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) || _src.type() == (((2) & ((1 << 3) - 1)) + (((1)-1) << 3))) in `anonymous-namespace’
问题解决
需要将每个帧转换为灰度或将其应用于每个通道,而不是直接将获取的帧图像直接传入函数。
// convert to grayscale
cvtColor(dst, srcImage, CV_RGB2GRAY);
下一个问题
1、采集的视频做不了实时处理,延迟很高,目前考虑采用多线程对图像处理。
2、采集红外图像静脉的血管清晰度不够高,还需要对硬件进行提升。
未完待继续。。。
解决出来后再分享出来!