ํน์ ์กฐ๊ฑด(์๋ ์ฐธ์กฐ)์์ Viz3d
์ฐฝ์ ๋ง์ฐ์ค๋ก ์ด๋ํ ๋๊น์ง ์์ ํ ํฐ์์
๋๋ค. ๋ค์ ์์ ์ฝ๋๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
#include <cmath>
#include <opencv2/viz.hpp>
using namespace std;
using namespace cv;
using namespace viz;
int main()
{
Viz3d visualization("Test");
/*const Mat image(10, 10, CV_32FC3, Scalar(0));
WCloud cloud(image);
visualization.showWidget("Point cloud", cloud);*/ //Uncomment me
visualization.spinOnce(1, true);
while (!visualization.wasStopped())
visualization.spinOnce(1, true);
}
์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค. ์ฆ, ์ผ๋ฐ Viz3d ์ฐฝ์ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ์๋ ๋๋ก ์ธ ์ค์ ์ฃผ์ ์ฒ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๋ฉด Viz3d
์ฐฝ์ด ์์ ํ ํฐ์์ด ๋ฉ๋๋ค.
๋ง์ฐ์ค๋ก ์์ง์ด๋ฉด(์ ๋ชฉ ํ์์ค์ ํด๋ฆญํ ์ฑ ์ ์ง) ๋ชจ๋ ๊ฒ์ด ๋ค์ ์์๋๋ก ์๋ํฉ๋๋ค. ์ฆ, ์ฐฝ์ ๋ด์ฉ์ด ํ์๋ฉ๋๋ค.
์์ ์ฝ๋๋ก ๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์ง๋ง ์ฝ๊ฐ์ ์ฝ๋ ๋ณํ์ ์ ๋๋ก ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ์ด ์ฝ๋๋ฅผ ์ ์๋ํ๋ ์ฝ๋์ ๊ตฌ๋ณํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์์ง ์ ์ ์์์ง๋ง(๋ฌธ์ ๋ฐ ์ด์ ์ ์ ์ถํ ๋ฌธ์ ์ ์ฝ๋ ์ฐธ์กฐ), ์์ ฏ ์ ํ์ด๋ ์ ๋ฌ๋ ์ฐฝ ์ด๋ฆ์ ์์กดํ์ง ์์ต๋๋ค. Viz3d
์์ฑ์.
์ด ์์ค ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ vs2015 opencv 3.3-dev(Windows 10-64๋นํธ) vtk 8.1 ์ฌ์ฉ:
viz::Viz3d visualization("Test");
const Mat image(10, 10, CV_32FC3, Scalar(0));
viz::WCloud cloud(image);
visualization.showWidget("Point cloud", cloud); //Uncomment me
visualization.spinOnce(1, true);
while (!visualization.wasStopped())
visualization.spinOnce(1, true);
๋๋ ์ด๊ฒ์ ์ป์๋ค
๊ทธ๋ฌ๋ฉด ํ๋ซํผ๋ณ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ฐ์ดํธ: ์์์ ์ฌ์ฉ ์ค์ธ VTK ๋ฒ์ ์ ์ถ๊ฐํ์ต๋๋ค. Ubuntu์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ํจํค์ง์ ๋๋ค.
์ด ๋ฌธ์ ๋ VirtualBox์ 3D ๊ฐ์์ผ๋ก ์ธํด ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๋นํ์ฑํํ๋ฉด ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฌธ์ ๊ฐ OpenCV ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฌธ์ ๋ VirtualBox์ 3D ๊ฐ์์ผ๋ก ์ธํด ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๋นํ์ฑํํ๋ฉด ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฌธ์ ๊ฐ OpenCV ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค.