<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lkchl的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lkchl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lkchl]]></copyright><item><title><![CDATA[编译OpenCV2.4.3中的OCL模块]]></title><link>https://blog.youkuaiyun.com/lkchl/article/details/8146359</link><guid>https://blog.youkuaiyun.com/lkchl/article/details/8146359</guid><author>lkchl</author><pubDate>Sun, 04 Nov 2012 18:57:14 +0800</pubDate><description><![CDATA[OpenCV2.4.3发布了，总算包含了OCL模块，不过不是默认打开的，需要用源码编译，不过实际上很简单。
1 下载opencv的打包文件，安装cmake和编译器（VS或GCC之类），安装你的显卡对应厂家的opencl sdk
2 用cmake编译，在选项中勾选WIHT_OPENCL,点configure，应该可以看到输出里面有OPENCL YES这样的字样，然后点generate
3编译代]]></description><category></category></item><item><title><![CDATA[利用OpenCL对OpenCV并行化心得（3）]]></title><link>https://blog.youkuaiyun.com/lkchl/article/details/8146227</link><guid>https://blog.youkuaiyun.com/lkchl/article/details/8146227</guid><author>lkchl</author><pubDate>Sun, 04 Nov 2012 18:00:30 +0800</pubDate><description><![CDATA[上文提到由于ROI的问题，想在一个kernel中向量读写是有难度的，于是就用了很多mask操作，但是这些操作太复杂，不仅非常容易引入bug，而且带来了太多的额外操作，对于没有ROI的数据，那么多边界操作都是浪费的。
    在心得2中，简单的kernel只需要十几条汇编指令，而考虑到ROI的向量化需要几百条指令，多余的处理指令太多了，对于像add这样的简单函数，最终的处理效率也不是那么理想。这里]]></description><category></category></item><item><title><![CDATA[浅析OPENCL中的CL_OUT_OF_RESOURCE错误]]></title><link>https://blog.youkuaiyun.com/lkchl/article/details/7994358</link><guid>https://blog.youkuaiyun.com/lkchl/article/details/7994358</guid><author>lkchl</author><pubDate>Wed, 19 Sep 2012 08:56:31 +0800</pubDate><description><![CDATA[CL_OUT_OF_RESOURCE在opencl中的定义是：在opencl的执行设备上分配资源失败。
在CPU上编程编习惯的人第一反应就是这相当于在GPU上malloc失败，如果看到后面的错误叫做CL_OUT_OF_HOST_MEMORY，就会更加确信自己的判断，如果报这个错肯定是GPU上分配内存失败，但实际上并非如此！
在CPU上程序员控制的基础资源实在不多，最普遍的当属内存，但是在GPU]]></description><category></category></item><item><title><![CDATA[利用OpenCL对OpenCV并行化心得（2）]]></title><link>https://blog.youkuaiyun.com/lkchl/article/details/7980689</link><guid>https://blog.youkuaiyun.com/lkchl/article/details/7980689</guid><author>lkchl</author><pubDate>Fri, 14 Sep 2012 21:54:09 +0800</pubDate><description><![CDATA[上文说到了没有ROI的情况下怎么优化add，现在看看有roi的情况。
ROI是opencv里面的一个特性，也可以说是图像处理库都有的特性，它的意思是对于整个一幅图像，只处理被ROI框起来的那一块，可以看做是一个mask。如果不注重性能，最简单的方法就是加上一个offset即可

__kernel void matrix_add(__global uchar* src1,__global uc]]></description><category></category></item><item><title><![CDATA[利用OpenCL对OpenCV并行化心得（1）]]></title><link>https://blog.youkuaiyun.com/lkchl/article/details/7947842</link><guid>https://blog.youkuaiyun.com/lkchl/article/details/7947842</guid><author>lkchl</author><pubDate>Wed, 05 Sep 2012 19:32:45 +0800</pubDate><description><![CDATA[做了一年多的opencv并行化，总算小有成就了，马上软件就要发布，也该是一个总结的时候了，只可惜文笔不行，人也懒，只好随便写写，算是给自己做点交代吧。


    opencv里面最重要的一种类型恐怕非8UC1莫属，灰度图一般都用这种类型表示，而且大多数算法只提供这种数据类型的支持，所以8UC1的优化就成了整个工作的重中之重。以matrix add为例，最简单的kernel的写法是这样的]]></description><category></category></item><item><title><![CDATA[软件中的专利权与版权]]></title><link>https://blog.youkuaiyun.com/lkchl/article/details/7927488</link><guid>https://blog.youkuaiyun.com/lkchl/article/details/7927488</guid><author>lkchl</author><pubDate>Fri, 31 Aug 2012 07:56:26 +0800</pubDate><description><![CDATA[一直在做将OpenCV用OpenCL并行化的工作，最近刚好要和一些被申请了专利的算法打交道，了解到了以前一直误解的一个法律问题。

写软件的人都知道软件是有使用协议的，比如GPL BSD之内，都知道GPL是不能商用，BSD是随便用的。大家以为这样OpenCV就可以随便用了，没有法律问题了，其实不是这样的，这是多大的一个坑啊！

今天看了OpenCV讨论组的讨论，http://tech.gr]]></description><category></category></item></channel></rss>