首页 > 代码库 > 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 的方法