1.源码test.cpp
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/types_c.h>
#include <iostream>
using namespace cv;
using namespace std;
int main (int argc, char **argv)
{
Mat image, image_gray;
image = imread(argv[1], cv::IMREAD_COLOR);
if (argc != 2 || !image.data) {
cout << "No image data\n";
return -1;
}
cvtColor(image, image_gray, CV_RGB2GRAY);
namedWindow("image", cv::WINDOW_AUTOSIZE);
namedWindow("image gray", cv::WINDOW_AUTOSIZE);
imshow("image", image);
imshow("image gray", image_gray);
waitKey(0);
return 0;
}
2.Makefile 一定注意Makefile 的TAB规则
win下
CC = g++
# 可运行文件
TARGET = test
# C文件
SRCS = test.cpp
# 目标文件
OBJS = $(SRCS:.cpp=.o)
# 库文件
LIBS = -L/usr/lib/x86_64-linux-gnu
CPPFLAGS = -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lpthread -lrt
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
# 链接为可运行文件
$(TARGET):$(OBJS)
$(CC) -std=c++11 -o $@ $^ ${LIBS} ${CPPFLAGS}
clean:
rm -rf $(TARGET) $(OBJS)
# 编译规则 $@代表目标文件 $< 代表第一个依赖文件
%.o:%.cpp
$(CC) -o $@ -c $<
开发板下
CC = mips64el-linux-g++
LFLAGS = -Wno-psabi -std=c++11
LIBS = -L/opt/Qt_mips5.12.11/lib -L/home/ubuntu/Downloads/opencv/cv_install/lib
CPPFLAGS = -lQt5Widgets -lQt5Gui -lQt5Core -lQt5Test -lpthread -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lpthread -lrt
LINC += -I/home/ubuntu/Downloads/opencv/cv_install/include/opencv4
objs :=test
out :=test
$(out):$(objs).cpp
${CC} ${LFLAGS} ${LIBS} ${LINC} ${CPPFLAGS} -o $@ $^
clean:
rm $(out)
3.编译,开发板执行,需要同目录下放一张图片即可
./test 123.jpg