当前位置:首页>开发>正文

opencv如何读入图片 android 怎么显示opencv拼接的图

2023-07-07 15:42:15 互联网 未知 开发

 opencv如何读入图片 android 怎么显示opencv拼接的图

opencv如何读入图片

1、首先新建一个VC 控制台项目如下图所示。本文项目名称helloOpenCV。


2、在项目上右击->属性,如下图窗口所示,选择配置属性->链接器->输入,在右侧配置附加依赖项。


3、在附加依赖项中添加以下依赖项(可以根据实际需求调整,注意243为对应的版本号,如果是2.3.1版本243对应换成231):
opencv_calib3d243d.lib 
opencv_contrib243d.lib 
opencv_core243d.lib 
opencv_features2d243d.lib 
opencv_flann243d.lib 
opencv_gpu243d.lib 
opencv_highgui243d.lib 
opencv_imgproc243d.lib 
opencv_legacy243d.lib 
opencv_ml243d.lib 
opencv_objdetect243d.lib 
opencv_ts243d.lib 
opencv_video243d.lib
如下图所示。


4、在主文件中添加如下代码:

#include "stdafx.h"

#include

using namespace std
using namespace cv

int main(int argc, char* argv[])
{
   const char* imagename = "emosue.jpg"

   //从文件中读入图像
   Mat img = imread(imagename)

   //如果读入图像失败
   if(img.empty())
   {
       fprintf(stderr, "Can not load image %s ", imagename)
       return -1
   }

   //显示图像
   imshow("image", img)

   //此函数等待按键,按键盘任意键就返回
   waitKey()

   return 0

android 怎么显示opencv拼接的图

方法/步骤

选图,两张图的重叠区域不能太小,我个人认为最少不少于15%,这样才能保证有足够的角点匹配。
角点检测。这一步OpenCV提供了很多种方法,譬如Harris角点检测,而监测出的角点用CvSeq存储,这是一个双向链表。
角点提纯。在提纯的时候,需要使用RANSAC提纯。OpenCV自带了一个函数,FindHomography,不但可以提纯,还可以计算出3x3的转换矩阵。这个转换矩阵十分重要。
角点匹配。经过提纯后的角点,则需要匹配。
图像变换。这一步我曾经尝试过很多办法,最后选择了FindHomography输出的变换矩阵,这是一个透视变换矩阵。经过这个透视变换后的图像,可以直接拿来做拼接。
图象拼接。完成上面步骤之后,其实这一步很容易。
球面变换。这一步需要对坐标系进行转换,从平面坐标到球面坐标。

最新文章