我正在研究突然光线变化下的背景减法。有没有任何示例代码或方法在OpenCV或IPP中有效地执行此操作?我正在阅读视频帧,所以运行时间应该非常快。提前致谢。OpenCV:突然光线变化下的背景减法
4
A
回答
4
您需要首先设计某种标准化技术,其中两个帧(低光照和其他光源较多)将被标准化,并应包含非常接近的值。
不幸的是我有同样的问题,我不能完全解决它,但解决这个问题的一种方法是执行histogram equalization。
完成均衡后,您可以继续简单的背景减法技术。
0
我知道这已经老了。但我得到了几乎相同的问题。我所做的是减少所有图像(帧)的RGB分量的强度。对于我在街上检测汽车的情况,几乎可以消除阳光照射的突然变化。然后将修改后的RGB帧提供给BackgroundSubtractorMOG2等后台减法。
这里是代码。可变的位移需要调整可能2或4取决于条件。
void makeIlluminationInvariantRGB(const cv::Mat& frame, cv::Mat& result) {
frame.copyTo(result);
uint8_t* pixelPtr = (uint8_t*)result.data;
int cn = result.channels();
int bitshift = 3;
for(int row = 0; row < result.rows; row++)
{
for(int col = 0; col < result.cols; col++)
{
pixelPtr[row*result.cols*cn + col*cn + 0] = pixelPtr[row*result.cols*cn + col*cn + 0] >> bitshift;
pixelPtr[row*result.cols*cn + col*cn + 1] = pixelPtr[row*result.cols*cn + col*cn + 1] >> bitshift;
pixelPtr[row*result.cols*cn + col*cn + 2] = pixelPtr[row*result.cols*cn + col*cn + 2] >> bitshift;
}
}
}
希望它能帮助别人。
0
我解决这个问题的方法是对减法模型使用meanStdDev公式。如果偏差很高,我会触发背景模型的重置。
相关问题
- 1. opencv的:背景减法:访问冲突
- 2. OpenCV的背景减法C++
- 3. OpenCV中的背景减法
- 4. 使用OpenCV优化背景减法
- 5. OpenCV背景减法/码本?
- 6. OpenCV中背景减法MOG
- 7. 移动背景减法(OpenCV)
- 8. OpenCV中的背景减法(C++)
- 9. OpenCV不同照明的背景减法
- 10. 背景减法器,用于OpenCV的= 3.1.0
- 11. OpenCV Android背景减去
- 12. OpenCV 2背景减除
- 13. 在openCV中使用背景减法类
- 14. 结合背景减法和光流
- 15. OpenCV背景减法:如何预先计算背景模型?
- 16. 背景减法
- 17. 风景模式下的背景变化
- 18. 在OpenCV C++中用于跟踪对象的背景减法和光流
- 19. c背景减法#
- 20. OpenCV3.1背景减法
- 21. OpenCV - 在背景减法器中修复前景MOG
- 22. 错误的应用方法在背景减法opencv android
- 23. OpenCV C++ videocapture图像背景减去
- 24. 变化背景
- 25. 变化的背景
- 26. Rx突然变化
- 27. 使用openCv进行背景减法后的人脸检测
- 28. opencv的蟒蛇背景减法和运动跟踪
- 29. 无法保存背景减去的视频Python openCV
- 30. OpenCV中手部识别的背景减法
亲爱的Masad和Astor,非常感谢您的回答和建议。问候。 – 2012-08-15 21:51:44