当前位置: 首页 > news >正文

公司网站建设升上去校园网站素材

公司网站建设升上去,校园网站素材,郫县网站制作,六安钢贴吧一直以为IplImage结构体中的widthStep元素大小等于width*nChannels#xff0c;大错特错#xff01;#xff08;为了快速访问#xff0c;要内存对齐啊#xff09;查看OpenCV2.1的源码#xff0c;在src/cxcore/cxarray.cpp文件中#xff0c;找到cvInitImageHeader函数大错特错为了快速访问要内存对齐啊查看OpenCV2.1的源码在src/cxcore/cxarray.cpp文件中找到cvInitImageHeader函数函数中对widthStep大小赋值如下 image-widthStep (((image-width * image-nChannels *(image-depth ~IPL_DEPTH_SIGN) 7)/8) align - 1) (~(align - 1));                                           其中IPL_DEPTH_SIGN的定义可以在cxtypes.h中找到定义为#define IPL_DEPTH_SIGN 0x80000000 align的大小为CV_DEFAULT_IMAGE_ROW_ALIGN其大小在cxmisc.h中定义为#define  CV_DEFAULT_IMAGE_ROW_ALIGN 4depth取8位深度。      根据1式已知IPL_DEPTH_SIGN、align、depth 的大小分别手动计算如下图像的widthStep         图像宽度     图像通道数              计算得到的widthStep         3                    3                             12         3                    1                             4         5                    3                            16         5                    1                             8         7                    3                             24         7                    1                             8         4                    3                             12         4                    1                             4         为了进一步验证手算的正确性我们编程实现输出widthStep的大小程序如下 IplImage *image_33 cvCreateImage(cvSize(3, 3), 8, 3);IplImage *image_31 cvCreateImage(cvSize(3, 3), 8, 1);IplImage *image_53 cvCreateImage(cvSize(5, 3), 8, 3);IplImage *image_51 cvCreateImage(cvSize(5, 3), 8, 1);IplImage *image_73 cvCreateImage(cvSize(7, 3), 8, 3);IplImage *image_71 cvCreateImage(cvSize(7, 3), 8, 1);printf(%d, %d, %d, %d, %d, %d, image_33-widthStep,image_31-widthStep,image_53-widthStep,image_51-widthStep,image_73-widthStep,image_71-widthStep);            运行结果为12 4 16 8 24 8 与手动计算结果相同。           从网上查阅资料OpenCV分配的内存按4字节对齐这样我们对上述计算的结果可以有个合理的解释如宽度为3、通道数为3的图像每一行需要的 实际内存长度为3*3为了内存对齐OpenCV会在每行末尾自动补上3个字节的内存内存初始化都为0所以widthStep变为了12。 widthStep大小对IplImage极为重要在cxarray.cpp中我们可以找到如下代码行 image-imageSize image-widthStep * image-height;img-imageData img-imageDataOrigin (char*)cvAlloc( (size_t)img-imageSize );       可见widthStep直接影响到imageData的数据长度。在操作imageData时我们要避开对OpenCV自动补齐的内存进行操作如直方图计算等。 写到这里可能有人会问我们平常都用widthStep width * nChannels怎么就没出错我之前也一直在疑惑合理的解释是一般在实际应用中图像的宽度一般为128 256 240 320 356704等刚好这些数字都能被4整除widthStep刚好等于width * nChannels 所以OpenCV并没有为这些图像分配多的内存因此我们在对imageData做顺序操作也没出错。但是请问谁能保证图像的宽度一定会是4的倍数
http://www.yutouwan.com/news/342980/

相关文章:

  • 我的南京网站html编辑器的功能介绍
  • 成品网站价格表网站改版降权
  • 旅游 网站建设目标网店美工的职责
  • 24小时网站开发 pdf上海三益建筑设计有限公司
  • 电子商务运营网站网站注册域名位置
  • 中国建设招标网是权威网站吗关键词挖掘爱网站
  • 北京备案网站负责人网站制作价格推 荐
  • 国际快递网站建设怎样批量做地级市网站
  • 有没有什么专门做兼职的网站吗网络平台建设授权书
  • 可以做mv的视频网站wordpress电影分享主题
  • 重庆模板建站代理苏州市网站
  • 平凉网站设计动态效果的网站建设
  • 动感地带青春卡搜索引擎优化实训
  • 昌平建设公司网站wordpress中文破解主题
  • 做两个网站 之间超链接网站有后台更新不了
  • 网站开发招聘需要做网站业务员应该了解什么
  • 如何购买网站域名自动生成网页代码的软件
  • 贵州域网网站建设小米网站建设书
  • 网站的总体方案与功能设计WordPress用户发表插件
  • 网站建设相关资质株洲网站制作建设
  • 网站模板好购物商城网站搭建
  • 南通网站建设方案外包池州网站建设
  • 网站设计制作音乐排行榜平台网站建设 厦门
  • 购物网站商城做网站团队
  • 做外单网站做汽车租赁主要的网站
  • intitle 郑州网站建设旅游政务网站建设方案
  • 专业seo网站优化公司综合查询
  • 网站描述优化php学校网站源码
  • 网站建设合同用贴印花税吗无需注册免费创建网站
  • 奥尔马手表官方网站wordpress怎么搜站点