小编Wag*_*nga的帖子

在应用Canny边缘检测之前预处理图像

我有一个房间下面的图像,我想检测所有墙边.我尝试了很多不同的滤镜组合(双边,高斯,拉普拉斯等),最好的组合似乎如下,

  • 将图像转换为灰度
  • 应用双边滤镜
  • 运行Canny边缘检测过程
  • 再涂两个双边滤镜,以消除任何噪音
  • 使用扩张过滤器"堵塞"边缘的任何孔

我遇到的问题是,无论我尝试过什么,我都无法获得穿过靠近天花板的墙壁的独特直边.我已经尝试了许多技术来试图使边缘变暗但无济于事.应用程序商店中有一个应用程序检测到这个边缘,所以我知道它可以完成,我只是不确定我需要应用哪些预处理过滤器,希望有人可以指出我正确的方向.

cv::Mat edgeFrame;
cv::Mat grayImage;
cv::Mat blurFrame;
outputFrame=inputFrame.clone();

getGray(inputImage, grayImage);
cv::bilateralFilter(grayImage, blurFrame, 9,80, 80);
cv:Canny(blurFrame, edgeImage,100, 110,5);
cv::bilateralFilter(edgeImage, blurFrame, 21 , 80, 80);
cv::bilateralFilter(blurFrame, edgeImage,21, 100, 150);
int dilation_size =1;
Mat element = getStructuringElement( MORPH_ELLIPSE,
                                    Size( 2*dilation_size + 1, 2*dilation_size+1 ),
                                    Point( dilation_size, dilation_size ) );
dilate( edgeImage, outputFrame, element );
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

opencv computer-vision canny-operator

5
推荐指数
1
解决办法
2553
查看次数

找到透视图像的角度

我正在开发一个地板设计应用程序,允许用户选择预设的地板图像并在预设的房间图像中查看它们. 在此输入图像描述 在此输入图像描述 我的问题是我正在努力获得地板图像的视角以正确匹配房间图像.我一直在设置视点和倾斜的高度,但有没有办法通过使用真实世界的地板和房间图像测量来计算这些应该是什么?我在透视图中的知识非常有限,所以如果我使用错误的术语,我会道歉.任何帮助或建议将不胜感激.

谢谢

math 3d image-processing photogrammetry perspectivecamera

3
推荐指数
1
解决办法
1000
查看次数