본문 바로가기
Open CV

[Ubuntu OpenCV] VM ware ubuntu에서 웹캠 연결 후 OpenCV 사용해서 Qt GUI 구성하기

by TYB 2024. 3. 8.
반응형

opencv 먼저 설치하고

$ pwd
/home/ubuntu

$ mkdir openCV && cd openCV
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.2.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.2.zip
$ unzip opencv.zip
$ unzip opencv_contrib.zip
$ cd opencv-4.5.2
$ mkdir build && cd build
$ pwd
/home/ubuntu/openCV/opencv-4.5.2/build

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D WITH_IPP=OFF -D WITH_1394=OFF -D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_DOCS=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF -D BUILD_PACKAGE=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D WITH_QT=OFF -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_opencv_python3=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.2/modules -D WITH_V4L=ON  -D WITH_FFMPEG=ON -D WITH_XINE=ON -D OPENCV_ENABLE_NONFREE=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_SKIP_PYTHON_LOADER=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../ -DCMAKE_CXX_FLAGS="-std=c++11"
$ time make -j4
$ sudo make install
$ sudo ldconfig 
$ pkg-config --modversion opencv4  //설치 확인 
4.5.2
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ cat first.cpp
#include <opencv2/highgui.hpp>
using namespace::cv;
int main(void)
{
        Mat image(300, 400, CV_8UC1, Scalar(200));
        imshow("영상보기", image);
        waitKey(0);
        return 0;
}

 

ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ cat Makefile
CC:=g++

TARGET=first
OBJECT=$(TARGET).o

CFLAGS = `pkg-config opencv4 --cflags --libs`
LIBS=`pkg-config opencv4 --cflags --libs`

all : $(TARGET)

$(TARGET):$(OBJECT)
        $(CC) -o $@ $(OBJECT) $(LIBS)
%.o:%.cpp
        $(CC) -c -o $@ $< $(CFLAGS)
clean:
        rm -f *.o $(TARGET)
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ make
g++ -c -o first.o first.cpp `pkg-config opencv4 --cflags --libs`
g++ -o first first.o  `pkg-config opencv4 --cflags --libs`
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ ls
build.sh  first  first.cpp  first.o  Makefile

 

 

 

쉘 스크립트를 이렇게 만들어주면 cpp 이름만 쳐주면 그 이름대로 object file과 실행파일을 만들어줌.

ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ cat build.sh
g++ -o $1 $1.cpp $(pkg-config opencv4 --libs --cflags)
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ ./build.sh first
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ ls
build.sh  first  first.cpp  first.o  Makefile

 

아니면 makefile을 만들어서 해줘도 됨.

ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ cat Makefile
CC:=g++

TARGET=first
OBJECT=$(TARGET).o

CFLAGS = `pkg-config opencv4 --cflags --libs`
LIBS=`pkg-config opencv4 --cflags --libs`

all : $(TARGET)

$(TARGET):$(OBJECT)
        $(CC) -o $@ $(OBJECT) $(LIBS)
%.o:%.cpp
        $(CC) -c -o $@ $< $(CFLAGS)
clean:
        rm -f *.o $(TARGET)
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ make
g++ -c -o first.o first.cpp `pkg-config opencv4 --cflags --libs`
g++ -o first first.o  `pkg-config opencv4 --cflags --libs`
ubuntu08@ubuntu08-VirtualBox:~/openCV/openCvCamTest/firstOpencv$ ls
build.sh  first  first.cpp  first.o  Makefile

 

 

 

실행파일 실행 시켜보고 잘되면 openCV 초기 설정은 된거임.

 

그럼 qt에서 camera 띄워보겠음.

AiotClient.zip
0.72MB

 

 

 

서버는 미리 돌려줘야됩니다~

주기적으로 센서값을 보내주고 있음.

 

이거 Qt creator에서 프로젝트로 열고 실행시켜보면

tab2에서 서버시작

tab6에서 카메라시작

tab7에서 영상시작하면 영상이 나옴.

반응형