Opencv: Viz3d ์ฐฝ์€ ์ด๋™ํ•  ๋•Œ๊นŒ์ง€ ํฐ์ƒ‰์ž…๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 10์›” 02์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: opencv/opencv

์‹œ์Šคํ…œ ์ •๋ณด(๋ฒ„์ „)
  • OpenCV => 3.3
  • ์šด์˜ ์ฒด์ œ / ํ”Œ๋žซํผ => xfce, QT 5.5 ๋ฐ VTK 6.2๊ฐ€ ํฌํ•จ๋œ Ubuntu 16.04
  • ์ปดํŒŒ์ผ๋Ÿฌ => g++ 5.4.0
์ƒ์„ธ ์„ค๋ช…

ํŠน์ • ์กฐ๊ฑด(์•„๋ž˜ ์ฐธ์กฐ)์—์„œ 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 ์ฐฝ์ด ์™„์ „ํžˆ ํฐ์ƒ‰์ด ๋ฉ๋‹ˆ๋‹ค.

white_window

๋งˆ์šฐ์Šค๋กœ ์›€์ง์ด๋ฉด(์ œ๋ชฉ ํ‘œ์‹œ์ค„์„ ํด๋ฆญํ•œ ์ฑ„ ์œ ์ง€) ๋ชจ๋“  ๊ฒƒ์ด ๋‹ค์‹œ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ฐฝ์— ๋‚ด์šฉ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์ฝ”๋“œ๋กœ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์•ฝ๊ฐ„์˜ ์ฝ”๋“œ ๋ณ€ํ˜•์€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ์ฝ”๋“œ๋ฅผ ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ์™€ ๊ตฌ๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์•„์ง ์•Œ ์ˆ˜ ์—†์—ˆ์ง€๋งŒ(๋ฌธ์„œ ๋ฐ ์ด์ „์— ์ œ์ถœํ•œ ๋ฌธ์ œ์˜ ์ฝ”๋“œ ์ฐธ์กฐ), ์œ„์ ฏ ์œ ํ˜•์ด๋‚˜ ์ „๋‹ฌ๋œ ์ฐฝ ์ด๋ฆ„์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Viz3d ์ƒ์„ฑ์ž.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋Š” VirtualBox์˜ 3D ๊ฐ€์†์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ๊ฐ€ OpenCV ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 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);

๋‚˜๋Š” ์ด๊ฒƒ์„ ์–ป์—ˆ๋‹ค
screenshot-1506941956

๊ทธ๋Ÿฌ๋ฉด ํ”Œ๋žซํผ๋ณ„ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ: ์œ„์—์„œ ์‚ฌ์šฉ ์ค‘์ธ VTK ๋ฒ„์ „์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Ubuntu์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” VirtualBox์˜ 3D ๊ฐ€์†์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ๊ฐ€ OpenCV ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰