注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

opencv在Xcode中的配置方式  

2015-06-30 11:24:06|  分类: 技术成长 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
今天想把一个以前小时候玩过的游戏用UE4作成3D的,发现这个游戏每一个地图是16X14的地图块组成的,因为自已不想一张地图一张地图的去照着以前的地图拼出所有的地图数据,作为一名程序员,我觉得我应该使用自已的方法。下边是原始地图图片:
opencv在Xcode中的配置方式(转) - ♂苹果 - 眼睛想旅行
  像这样的地图一共有56张之多,一张一张的去查看每个图块都在什么坐标上这是一件非常通苦和耗费精力的事情,而且效率也并不一定高,本着程序员处理问题的细路,我打算使用非常牛B的图形处理库OpenCV来对这个地图图片进行分析,以便找出每个图块所在坐标。
当然了,首要任务是要先在我的电脑上装上opencv库再说,因为我已经有两年时间没有使用过windows系统了,更何况作为开发者,使用linux系统也会觉得比windows系统好用。如果使用linux系统,我就使用ubuntu,但我现在只有一个mac os系统的电脑,所以我打算使用xcode作为开发环境,在网上找到了下边的配置方法

1、下载并安装macport或homebrew

2、使用macport/homebrew下载opencv并更新macport,如下:

      sudo port install opencv
     sudo port selfupdate
     sudo port upgrade outdated

3、新建一个Xcode工程, 并选择Command Line Tool

 4. 新建完工程后,在左侧边栏选中项目,在右侧搜索“Header Search Path”,并将其设置为/opt/local/include/opencv。(或是头文件所在的目录,自己查找就可以)

5. 右键单击左侧边栏中的项目,并选择“New Group”,起个名字,比如“OpenCV_Group”。右键单击新建的Group,选择“Add Files to ...(Group名称)”。在弹出窗口里去目录/opt/local/lib/中,选择以"libopencv"开头的.dylib文件,不用选择“Copy Items”。(也可以手动拖地)

6. 在你需要用OpenCV的.h或者.cpp中,加入#include "opencv2/opencv.hpp"。这样添加的是新的用C++编写的opencv。强烈建议使用新的C++风格的OpenCV,内存管理会容易得多。

我使用的是homebrew安装的opencv库版本是:opencv-2.4.9,我的opencv的安装目录不在/opt/local/中,而是在/usr/local/include和/usr/local/lib中。当然了这两个路径下的有关opencv目录的真实路径是在brewhome的库路径的。

opencv在Xcode中的配置方式(转) - ♂苹果 - 眼睛想旅行

 

    接下来我要开始学着使用OpenCV处理图片了。今天就先写到这里,要开始干活了。

接着写:

在创建好opencv项目,写了一个测试cpp,但在编译的连接的时候出了问题,一个是opencv库不支持libc++编译器,要使用libstdc++.这个改过来之后,又有一个C++11的map库找不到的问题。反正是问题多多。最后是因为没有加入库文件的原因。已经解决。

最新版opencv-3.0.0的mac os安装方法:opencv-2.4.10 mac os安装方法:
在打算使用Objective-C与C++混合编程的时候又出现了新的问题。
将Build Settings中的Apple LLVM 6.1 - Language中的Compile Sources As 改为 Objective-C++问题就解决了。
关于xcocde中资源文件的读取,可以看下边:
接着之前的文章写--
经过一天时间的尝试,已经可以读到图片的每一个像素值了,接下来,我只要把不同图块的图片取出来,再使用像素值模糊对比的方法,就可以得到所有地图图块所在的坐标。
下边是读取每一个像素值的代码:
opencv在Xcode中的配置方式(转) - ♂苹果 - 眼睛想旅行
 读取图片的结果:
opencv在Xcode中的配置方式(转) - ♂苹果 - 眼睛想旅行
从上图可以看出,图片大小是843X1162像素。这里只读了最上边的五个像素值。然后打photoshop对比了一下,读取的像素值时原点是在左上角,
opencv在Xcode中的配置方式(转) - ♂苹果 - 眼睛想旅行
很明显,第三个像素值是65 75 86 255,分别对应R,G,B,A(也就是,红,绿,兰,透明度的值),从上边程序读取的数据可以看出来,opencv中的Mat数据里的像素值是按兰,绿,红,透明度、这样的排列顺序。
今天就到这里,去吃饭了,明天接着弄。
  评论这张
 
阅读(251)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017