linux openCV 显示图片例程

1.编写代码 opencv_test.cpp

#include <stdio.h>
#include <cv.h>
#include <highgui.h>

//使用cv这个命名空间
using namespace cv;

/*    主函数
 *C语言规定main函数只能有两个参数,
 *习惯上将这两个参数写成argc和argv。
 *第一个代表(传参个数+1),
 *第二个代表传惨数据。
 *一般有两种写法:
 *main( int argc, char* argv[])
 *main( int argc, char** argv)
 */
int main( int argc, char** argv )
{
  //建立一个Mat类型的变量image
  Mat image;
  /* API中有:
   * C++: Mat imread(const string& filename, int flags=1 )
   * 意思是返回Mat类型数据,第一个参数接受一个string类型的引用,
   * 第二个参数接受一个int类型的flags,一般都是1。
   */
  image = imread( argv[1], 1 );

  //当传的参数不是一个,或者图片没有数据则提示没有图片并退出程序
  if( argc != 2 || !image.data )
    {
      printf( "没有该图片 \n" );
      return -1;
    }
  
  //C++: void namedWindow(const string& winname, int flags=CV_WINDOW_AUTOSIZE )
  namedWindow( "显示图片", CV_WINDOW_AUTOSIZE );
  //C++: void imshow(const string& winname, InputArray mat)
  imshow( "显示图片", image );
  //C++: int waitKey(int delay=0)
  waitKey(0);

  return 0;
}
2.编译(使用此法则不需3、4步)

~/code$ g++ `pkg-config --cflags opencv` -o opencv_test opencv_test.cpp `pkg-config --libs opencv`

3.Makefile

在同一目录新建Makefile文件

CC=g++
#CFLAGS+=-g
CFLAGS+=`pkg-config --cflags opencv`
LDFLAGS+=`pkg-config --libs opencv`

PROG=main
OBJS=$(PROG).o

.PHONY: all clean
$(PROG): $(OBJS)
	$(CC) -o $(PROG) $(OBJS) $(LDFLAGS)

%.o: %.cpp
	$(CC) -c $(CFLAGS) $<

all: $(PROG)

clean:
	rm -f $(OBJS) $(PROG)


4.使用Makefile编译

make

5.执行

~/code$ ./opencv_test cat.png




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值