c++ - 如何擦除或消失 cv::Mat 矩阵或图像中的黑色边框
解决方案
一个简单的解决方案,假设图像的背景颜色是统一的,可能是循环遍历 cv::Mat 中的每个像素,并且如果一个像素与背景颜色匹配(比如说 RGB(0,0,0) 或纯黑色),它用另一种颜色替换这个像素(比如说(RGB(255,255,255)或纯白色)。
当然,这将删除我们想要保留的图像中的任何纯黑色像素。因此,您可以尝试使用不同的像素值阈值来移除,而不仅仅是纯黑色。您可以对 RGB 通道设置阈值,也可以转换为另一种颜色空间(即 HSV)并将阈值应用于仅一个通道(即值通道)。
推荐阅读
- mongodb - 如何修复 mongo 中的 SSL 错误“CSSMERR_TP_VERIFY_ACTION_FAILED”?
- loops - 如何遍历包含多个数字的行的文本文件,同时计算数字
- r - R,在循环中添加数据帧
- python - 如何创建一个持续检测抓取数据是否更改的while循环?
- php - “如何在 PHP 中添加‘音频标签播放器中的删除选项’”
- reactjs - 文件/Blob - eslint(no-undef)
- php - 删除标签但不删除内容
- jquery - 使用 Jquery 将图像定位到 div 的顶部
- c# - 如何解决 LightningChart 中点击了哪些 y 轴段
- f# - F# 度量单位不会简化