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

盐城高端网站建设wordpress粘贴媒体库

盐城高端网站建设,wordpress粘贴媒体库,杭州市网站seo,长沙营销网站建设公司一、实验目的 直方图是一种统计特征#xff0c;在图像中广为使用#xff0c;因为具有计算简便、不受平移、旋转的影响#xff0c;因此可以作为图像的一种有效的局部/全局特征来表示图像#xff0c;是图像的重要特征之一。直方图在SIFT算法、HOG算法、直方图均衡等图像特征…一、实验目的 直方图是一种统计特征在图像中广为使用因为具有计算简便、不受平移、旋转的影响因此可以作为图像的一种有效的局部/全局特征来表示图像是图像的重要特征之一。直方图在SIFT算法、HOG算法、直方图均衡等图像特征检测算法中都广为使用。本实验的目的是让大家掌握bmcv_calc_hist、和OpenCV中calcHist函数的使用可以计算出图像的直方图。 二、实验内容 搭建BMCV环境并成功运行bmcv_calc_hist例程 三、开发环境 开发主机Ubuntu 22.04 LTS 硬件算能SE5 四、实验器材 开发主机 云平台 五、实验过程与结论 本实验涉及的程序框架与实验4的图4-1一致仅需根据具体调用的API函数配置相关参数即可因此接下来重点介绍bmcv_calc_hist API函数的参数及其调用方法。图像灰度直方图因为可以反映图像中灰度的分布情况常作为图像的一种重要特征。可以通过bmcv提供的bmcv_calc_hist函数实现。 5.1 bmcv_calc_hist函数介绍 bmcv_calc_hist函数形式如下 bm_status_t bmcv_calc_hist ( bm_handle_t handle, bm_device_mem_t input, bm_device_mem_t output, int C, int H, int W, const int *channels, int dims, const int *histSizes, const float *ranges, int inputDtype); 其中handle为bm_handle 句柄 input为已分配好 device memory的输入信息该device memory 空间存储了输入数据类型可以是float32 或者uint8由参数inputDtype决定其大小为C*H*W*sizeof(Dtype)Output为已分配好 device memory的直方图输出结果信息该 device memory 空间存储了输出结果类型为 float 其大小为 histSizes[0]* histSizes[1]*…… *histSizes[n]*sizeof(float)。 C为输入通道数H为输入通道高度W为输入通道宽度channels为需要计算直方图的 channel 列表其长度为 dims每个元素的值必须小于 C 例如,RGB图像的C3 而如果只需要计算R通道图像的直方图则dims1; histSizes对应每个 channel 统计直方图的份数 ranges每个通道参与统计的范围其长度为 2*dims; 例如对位深为24bit的RGB图像如果三个通道的颜色值都参加直方图统计每个通道颜色取值范围从0到255 因此ranges为[0, 255, 0, 255, 0, 255],如果每个通道的值被分为8个bins则histSizes为[8,8,8]; inputDtype输入数据的类型0 表示 float1 表示 uint8。 代码使用范例如下 int H 1024; int W 1024; int C 3; int dim 3; int channels[3] {0, 1, 2}; int histSizes[] {15000, 32, 32}; float ranges[] {0, 1000000, 0, 256, 0, 256}; int totalHists 1;for (int i 0; i dim; i) { totalHists * histSizes[i]; } bm_handle_t handle nullptr; bm_status_t ret bm_dev_request(handle, 0); float *inputHost new float[C * H * W]; float *outputHost new float[totalHists];for (int i 0; i C; i) { for (int j 0; j H * W; j) inputHost[i * H * W j] static_castfloat(rand() % 1000000); }//创建图像input和保持直方图结果的output对象分配内存 ret bmcv_calc_hist(handle,input, output, C, H, W, channels, dim, histSizes, ranges, 0); 5.2 OpenCV calcHist函数 OpenCV 提供calcHist函数来实现直方图的计算具体形式如下 void cv::calcHist ( const Mat * images,int nimages,const int * channels,InputArray mask,OutputArray hist,int dims,const int * histSize,const float ** ranges,bool uniform true,bool accumulate false ) 其中images为输入的图像的指针nimages为输入图像个数channels为需要统计直方图的第几通道。mask掩模mask必须是一个8位CV_8U的数组并且和images的数组大小相同如果其值不为空则,值为1的点将用来计算直方图。hist直方图计算的输出值dims输出直方图的维度由channels指定histSize直方图中每个dims维度需要分成多少个区间如果把直方图看作一个一个竖条的话就是竖条的个数ranges统计像素值的区间uniformtrue是否对得到的直方图数组进行归一化处理accumulate false在多个图像时是否累积计算像素值的个数 调用时参考代码如下 //需要计算的图像的通道灰度图像为3BGR图像需要指定B,G,Rconst int channels[] - {0 };Mat hist; //定义输出Mat类型int dims 1;int dims 1;//设置直方图维度const int histSize[] - { 256 }; //直方图每一个维度划分的柱条的数目//每一个维度取值范围float pranges[] - { 0, 255 }; //取值区间const float* ranges[] - { pranges };calcHist(gray,1, channels, Mat(), hist, dims, histSizeranges, true, false); 5.3 画直方图 最后输出的结果可以通过OpenCV的rectangle函数将点连接起来画出直方图 int scale 2;int hist_height 256;Mat hist_img Mat::zeros(hist_height, 256 * scale, CV_8UC3);double max_val;Mat hist Mat::zeros(1, 256 , CV_32FC3);;for (int i 0; i 250; i){hist.atfloat(i) outputHost[i];}minMaxLoc(hist, 0, max_val, 0, 0);for (int i 0; i 250; i){float bin_val hist.atfloat(i);int intensity cvRound(bin_val * hist_height / max_val);rectangle(hist_img, Point(i * scale, hist_height - 1), Point((i 1) * scale - 1, hist_height - intensity), Scalar(255, 255, 255));}imwrite(bmcv_calc_hist_out.jpg, hist_img); 7.4 执行结果 按照上述步骤生成可执行文件并上传到算能盒子给可执行文件赋权限并执行 rootab162899a93b:/tmp/tmp6l8uq_dw# chmod 777 bmcv_calc_hist rootab162899a93b:/tmp/tmp6l8uq_dw# ./bmcv_calc_hist encodeImage.jpg Open /dev/jpu successfully,device index 0 jpu fd 8,vpp fd 9 执行结果如下
http://www.pierceye.com/news/388425/

相关文章:

  • 石家庄网站建设网站建设网站的制作哪家好
  • 苏州晶体公司网站网站排名优化各公司的
  • 网站开发大致多少钱团队拓展训练
  • p2p网站建设方案卫龙模仿iphone做网站
  • 做盗版电影网站犯法吗Wordpress 淘宝客 页面
  • 自己做网站费用html5结构的网站
  • wordpress做资源分享站做网站的图哪来
  • 国外设计欣赏网站线上建模培训班哪个好
  • 微信网站建设合同怎么在本地搭建网站
  • 班级网站怎么做网页制作临沂网站制作方案
  • 泰州网站建设服务好wordpress调用分类名
  • 中英切换的网站咋做怎样在网站做推广
  • 初学网站开发书籍如何提升网站打开速度
  • 深圳微信网站建设公司哪家好网站 维护 页面
  • 做个企业网站需要多少钱北京西站到大兴机场
  • 数字博物馆网站建设动态设计是什么意思
  • 沧州市做网站价格wordpress构建自己的网站
  • seo外链网站源码新公司注册核名
  • 游戏网站建设的策划方案python做电子商务网站
  • pxhere素材网站网上搞钱的野路子
  • 有没有帮人做数学题的网站9377游戏盒子
  • 微信网站建设报价网站优化提升排名
  • wap网站分享代码自定义网站建设
  • 网站换域名了怎么办seo百度帐号注册
  • 淄博网站建设公司羊肉片机网站模板制作
  • 邯郸网站设计价位南京h5 网站建设
  • wordpress主要函数seo是哪个英文的缩写
  • 自助建站网站seo公司静态网站作品
  • 内部网站建设、北京的网页建设公司
  • 网站建设的后台登录oa信息管理系统