首页 > 代码库 > Lua 调用 Opencv 的方法

Lua 调用 Opencv 的方法

 

Lua 调用 Opencv 的方法

  

  最近想用 Lua 调用 Opencv 进行相关像素级操作,如:bitwise_and 或者 bitwise_or,从而完成图像 IoU 的计算。

  那么,怎么用 Lua 调用 Opencv 呢?

  查了 Torch 的官方文档,发现只有这么几个可以调用的包:

  链接: https://github.com/torch/torch7/wiki/Cheatsheet

 

    技术分享

  然后,你点击一个进去,发现有这么一个方法,可以安装对应的 Opencv 包:

  技术分享

    然后,你就在终端里输入: luarocks install cv ,发现半天没反应 。。。

  过了一会,有反应了,见下图:  技术分享

 

    然后,就是等待了,这个”龟速“ 真的不能忍!!!

  其实,这里并没有那么直接,因为,你发现,如果你没有下载好 Opencv 官方的软件包,安装的时候,会提示你错误,从而停止掉!

  技术分享

 

  所以,还是需要安装这个网页上提示的过程进行:https://github.com/VisionLabs/torch-opencv/wiki/Installation 

  首先,是下载安装 Opencv 官方的 3.1 Linux 版本文件;

  然后,确保你的 Torch 是没有问题的;

  然后就开始执行刚刚那一句:luarocks install cv,这里,如果你可以直接指定 Opencv 文件的路径,就更好了,即:

  例如: OpenCV_DIR="/home/wangxiao/opencv-3.1.0" luarocks install cv 

  然后,你能做的,就还是等待,等待,再等待 。。。 

  

  假设已经正常的安装完毕了,那么,可以进行测试一下,看看是否正常:

  

 1 -- require ‘cv‘
 2 -- require ‘cv2‘
 3 require torch
 4 require image
 5 require display
 6 require "lfs"
 7 require "xlua"
 8 require nn
 9 require optim
10 require torch
11 
12 imagefile = /home/wangxiao/Pictures/Screen/gamersky_01origin_01_201610151947336.jpg
13 local img = image.load(imagefile,3,byte)
14 img = image.scale(img, 224, 224)
15 image.display(img)
16 
17 gt_x1 = 10 
18 gt_y1 = 20
19 gt_x2 = 100
20 gt_y2 = 200
21 gt_patch = image.crop(img, tonumber(gt_x1),tonumber(gt_y1),tonumber(gt_x2),tonumber(gt_y2))
22 image.display(gt_patch)
23 
24 x1 = 10 
25 y1 = 90
26 x2 = 100
27 y2 = 220
28 pred_patch = image.crop(img, tonumber(x1),tonumber(y1),tonumber(x2),tonumber(y2))
29 image.display(pred_patch)
30 
31 -- compute the IoU of the gt_patch and pred_patch. 

 

 

 

  未完,待续 。。。我的 Opencv 也在安装中 。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lua 调用 Opencv 的方法