<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaxiazls的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaxiazls</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaxiazls]]></copyright><item><title><![CDATA[什么是图形学]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/128039337</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/128039337</guid><author>xiaxiazls</author><pubDate>Fri, 25 Nov 2022 15:47:53 +0800</pubDate><description><![CDATA[介绍什么是计算机图形学]]></description><category></category></item><item><title><![CDATA[libMagick++-7.a(Magick___lib_libMagick___7_Q16HDRI_la-Blob.o): relocation R_X86_64_32S against `vtab]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/52792385</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/52792385</guid><author>xiaxiazls</author><pubDate>Tue, 11 Oct 2016 22:19:01 +0800</pubDate><description><![CDATA[libMagick++-7.a(Magick___lib_libMagick___7_Q16HDRI_la-Blob.o): relocation R_X86_64_32S against `vtable for Magick::Blob' can not be used when making a shared object; recompile with -fPIC



在进行编译的]]></description><category></category></item><item><title><![CDATA[install from unix source with magick]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/52781275</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/52781275</guid><author>xiaxiazls</author><pubDate>Mon, 10 Oct 2016 20:12:24 +0800</pubDate><description><![CDATA[install from unix source with magick


1. 在对应的网站上下载ImageMagick.tar.gz文件，网站可参考：www.imagemagick.org


2. unpack the distribution with this command:
   tar xvzf ImageMagick.tar.gz
   
3. Next co]]></description><category></category></item><item><title><![CDATA[读取gif二进制内容用magick++来解析]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/52781168</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/52781168</guid><author>xiaxiazls</author><pubDate>Mon, 10 Oct 2016 19:58:52 +0800</pubDate><description><![CDATA[读取gif二进制内容用magick++来解析
详细的实现见如下代码：
	std::vector buf;  //这个存储了当前gif图片的内容信息
	char* blobData = new char[buf.size()];
	for ( int i = 0; i < buf.size(); i++ )
		blobData[i] = buf[i];
	size_t blobLen =  b]]></description><category></category></item><item><title><![CDATA[Caffe make runtest something wrong with flag 'flagfile' in file 'XXXXXXXXX/gflags.cc']]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/52042385</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/52042385</guid><author>xiaxiazls</author><pubDate>Wed, 27 Jul 2016 09:39:04 +0800</pubDate><description><![CDATA[在编译caffe过程中在最后make runtest有时会出现如下错误
ERROR: something wrong with flag 'flagfile' in file 'XXXX/gflags-master/src/gflags.cc'.  One possibility: file 'XXXX/gflags-master/src/gflags.cc' is being linked b]]></description><category></category></item><item><title><![CDATA[Caffe 环境搭建中应注意的问题]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/52039473</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/52039473</guid><author>xiaxiazls</author><pubDate>Tue, 26 Jul 2016 21:06:07 +0800</pubDate><description><![CDATA[和TensorFlow对应的是Theano，Torch； 
Caffe专精于图像处理，Caffe方便，更快入门上手； 
在通用的DL task上，Caffe不如Theano。 
CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)

开发环境搭建：

一、没有GPU
learning@learning-virtual-machine:~$ lspci | grep]]></description><category></category></item><item><title><![CDATA[opencv中Mat类型转换 ConvertTo]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/51204265</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/51204265</guid><author>xiaxiazls</author><pubDate>Wed, 20 Apr 2016 21:23:53 +0800</pubDate><description><![CDATA[在使用Opencv中，常常会出现读取一个图片内容后要把图片内容的像素信息转为浮点并把当前的mat作为矩形进行矩阵计算，那么这里就有一个类型转换问你，在新的opencv中mat有一个函数可以用于类型的相互转换

ConvertTo
oclMat::convertTo(oclMat& m, int rtype, double alpha=1, double beta=0)
m：转为目标数据类型]]></description><category></category></item><item><title><![CDATA[Opencv  drawContours函数用于绘制和填充]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/51204194</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/51204194</guid><author>xiaxiazls</author><pubDate>Wed, 20 Apr 2016 21:14:05 +0800</pubDate><description><![CDATA[在opencv中当我们使用一些基于连通域或者基于边沿信息的时候，往往会对contour进行处理除了利用findContours函数寻找连通域之外，也需要对连通域进行填充等操作这里介绍下drawContours函数，自己也是不断摸索和查阅了opencv相关手册
drawContours    在图像中绘制外部和内部的轮廓。
drawContours(InputOutputArray image,]]></description><category></category></item><item><title><![CDATA[关于Opencv图像的转换（YUV420sp）]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50889722</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50889722</guid><author>xiaxiazls</author><pubDate>Mon, 14 Mar 2016 20:51:57 +0800</pubDate><description><![CDATA[这里先举一个例子，把Opencv中的图像数据存储到一个void *data数据中
struct IMAGE_DATA
	void *data;        //图像数据
	int   rows;        //图像高
	int   cols;        //图像宽
	int   channels;    //图像通道数
};
bool OpencvMat2data(cv::Mat &o]]></description><category></category></item><item><title><![CDATA[linux下编写shell获取指定目录下的文件名]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50780080</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50780080</guid><author>xiaxiazls</author><pubDate>Wed, 02 Mar 2016 15:07:58 +0800</pubDate><description><![CDATA[#!/bin/sh  
#============ get the file name ===========# 
 
FolderPath="/home/data"  
for fileName in ${FolderPath}/*; do  
    tempFile=`basename $fileName`  
    echo $tempFile  
done  

#==========]]></description><category></category></item><item><title><![CDATA[C++ code 读取某给定路径下的当前文件夹名]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50774991</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50774991</guid><author>xiaxiazls</author><pubDate>Tue, 01 Mar 2016 19:25:54 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

void getJustCurrentDir( string path, vector& files) 
 { 
   //文件句柄 
   long  hFile  =  0; 
   //文件信息 
   struct _finddata_t fileinfo; 
   string p; 
   if((hFile = _find]]></description><category></category></item><item><title><![CDATA[关于Magick++ 在readImage过程中异常抛出检测 Magick::readImage return exception]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50774985</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50774985</guid><author>xiaxiazls</author><pubDate>Tue, 01 Mar 2016 19:24:32 +0800</pubDate><description><![CDATA[在调用Magick的函数readImage有时候由于图片文件本身的问题，会使得readImage的时候报错，这时候需要检测这个异常的错误，利用C++自身的异常检测问题我们可以采用如下代码来实现：
vector image_list;
image_list.clear();
std::string strGifName  //图片文件路径；
try
{
   Magick::readImages(]]></description><category></category></item><item><title><![CDATA[ImageMagick++格式转化为Opencv的Mat格式]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50767702</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50767702</guid><author>xiaxiazls</author><pubDate>Mon, 29 Feb 2016 19:43:03 +0800</pubDate><description><![CDATA[在图像处理领域opencv是我们常用的，ImageMagick也是使用的图像处理软件之一，在这里面有时候常常有内部结构的相互转换，这里先贴出一个image++中的Magick::Image格式转为Opencv中的Mat格式
int magick2IplImage(Magick::Image magickImage,cv::Mat &imgMat)
{
	//get width height
	i]]></description><category></category></item><item><title><![CDATA[关于编程中遇到inf的情况]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50767623</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50767623</guid><author>xiaxiazls</author><pubDate>Mon, 29 Feb 2016 19:36:36 +0800</pubDate><description><![CDATA[在进行编程的过程中我们常常会由于没有对分母是否为0进行判断，从而造成结果值为inf或-inf,对这个问题，从根本上杜绝的话就是在做除法的时候对分母进行是否为0的判断，若后续需要对一个数是否为inf或-inf作判断的话，我们可以采用如下方法来做
一、利用C++中的numeric_limits来实现
在C++的头文件#include  中，有各个类型的最值。
如int 对应的最大最小值：std:]]></description><category></category></item><item><title><![CDATA[rm删除破折号开头的文件或目录]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50599758</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50599758</guid><author>xiaxiazls</author><pubDate>Thu, 28 Jan 2016 12:07:47 +0800</pubDate><description><![CDATA[rm删除(清除)一个或多个文件 -f 选项将强制删除文件,即使这个文件是只读的.并且可以用来避免用户输入(在非交互脚本中使用).
经常会遇到文件名开头为特殊符号的文件后目录，如.mk  @等，可以直接rm -rf 删除，或是添加转意字符”\”即可。
今天碰到这样一个情况……

rm将无法删除以破折号开头的文件.
rm -slow_query_130103.txt.gz

rm: inva]]></description><category></category></item><item><title><![CDATA[ProtoBuf 常用序列化/反序列化API]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50595658</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50595658</guid><author>xiaxiazls</author><pubDate>Wed, 27 Jan 2016 17:24:29 +0800</pubDate><description><![CDATA[1、C数组的序列化和反序列化API
//C数组的序列化和序列化API  
bool ParseFromArray(const void* data, int size);  
bool SerializeToArray(void* data, int size) const;  
//使用  
void set_people()               
{  
    wp.set_nam]]></description><category></category></item><item><title><![CDATA[RGB转YUV并获取各通道的值]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50582399</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50582399</guid><author>xiaxiazls</author><pubDate>Mon, 25 Jan 2016 18:28:43 +0800</pubDate><description><![CDATA[在做图像中，常常会有图像格式转换的问题，比如RGB转YUV这时可以利用哦该opencv里面的函数来实现颜色格式的转换以及各通道的提取,上代码：


//inImage为输入的RGB图像
	cv::Mat imageY(inImage.rows,inImage.cols,1);
	cv::Mat imageU(inImage.rows,inImage.cols,1);
	cv::Mat ima]]></description><category></category></item><item><title><![CDATA[获取文件大小并读取文件内容（应用在protobuf文件解析上）]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50541049</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50541049</guid><author>xiaxiazls</author><pubDate>Tue, 19 Jan 2016 10:56:27 +0800</pubDate><description><![CDATA[在实际应用中常常需要获取文件的大小，并根据得到的文件大小分配相应的内存给变量，然后把文件的所有内容放入到分配好的变量里面，不多说了，上代码自己看哈
	FILE * pFile;
	int nsize;
	
	pFile = fopen ("file_temp","rb");
	if (pFile==NULL)
	{
		cout <<"open error"<<endl;
		return -1]]></description><category></category></item><item><title><![CDATA[C++ 智能指针详解]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50535458</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50535458</guid><author>xiaxiazls</author><pubDate>Mon, 18 Jan 2016 11:11:54 +0800</pubDate><description><![CDATA[C++ 智能指针详解
 
一、简介
由于 C++ 语言没有自动内存回收机制，程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete，流程太复杂，最终导致没有 delete，异常导致程序过早退出，没有执行 delete 的情况并不罕见。
用智能指针便可以有效缓解这类问题，本文主要讲解参见的智能指针的用法。包括：std::auto_ptr、boost::scoped_p]]></description><category></category></item><item><title><![CDATA[converting to execution character set: Invalid or incomplete multibyte or wide character]]></title><link>https://blog.youkuaiyun.com/xiaxiazls/article/details/50513318</link><guid>https://blog.youkuaiyun.com/xiaxiazls/article/details/50513318</guid><author>xiaxiazls</author><pubDate>Wed, 13 Jan 2016 21:21:51 +0800</pubDate><description><![CDATA[在linux下编译源码的过程中往往会遇到这个错误：
converting to execution character set: Invalid or incomplete multibyte or wide character



这说明当前*.c或*.cpp文件里面有GBK编码格式，这时需要把当前的c或cpp转为linux所熟悉的utf-8格式，可以考虑采用如下两种方法来实现：
]]></description><category></category></item></channel></rss>