gpt4 book ai didi

c++ - 使用 OpenCV 进行图像分割

转载 作者:太空狗 更新时间:2023-10-29 21:22:16 25 4
gpt4 key购买 nike

我是 openCV 的新手,需要一些帮助

所以我的基本想法是使用 opencv 创建一个用于室内设计的小型应用程序。

问题

如何区分图片的墙壁和地板(即使图片中有一些噪点)。

例如。 enter image description here

现在,我的想法是,如果我能以某种方式找到墙壁或瓷砖的边缘,然后如果有任何物体将用于室内装饰(例如任何椅子),那么该物体将完美地放置在地板(即两个图像混合)

我的方法

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cv.h>
using namespace cv;
using namespace std;
int main(){
Mat image=imread("/home/ayusun/Downloads/IMG_20140104_143443.jpg");
Mat resized_img,dst,contours,detected_edges;
resize(image, resized_img, Size(1024, 768), 0, 0, INTER_CUBIC);
threshold(resized_img, dst, 128, 255, CV_THRESH_BINARY);
//Canny(image,contours,10,350);

namedWindow("resized image");
imshow("resized image",resized_img);

//imshow("threshold",dst);
blur( resized_img, detected_edges, Size(2,2) );
imshow("blurred", detected_edges);

Canny(detected_edges,contours,10,350);
imshow("contour",contours);
waitKey(0);
return 1;
}

我尝试了canny边缘检测算法,但它似乎找到了很多边缘。而且我仍然不知道如何将房间的地板与椅子的地板结合起来

谢谢

最佳答案

对于无意识的广告,我们深表歉意,但宜家使用目录智能手机应用程序,该应用程序使用增强现实技术将物体/家具放置在您房间的图像周围。这就是你想要做的吗?

enter image description here

为了实现这一点,您需要一个“pinpoint”,一个将对象 Hook 到的固定点。这通常有助于在上面的应用程序中区分墙壁和地板(并使事情变得简单)。

如果人用脚悬在地上并且墙壁/地板上具有相同的纹理,即使对于人类来说,区分墙壁和地板也很困难(但由于我们的“重力感”)。

找到一些关键点或请说明您是否打算使用固定相机(即它永远不会水平放置)

关于c++ - 使用 OpenCV 进行图像分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20920655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com