\tutorial_code\Histograms_Matching


颁奖了
跳过的有

Remap_Demo.cpp
&
Geometric_Transforms_Demo.cpp

\tutorial_code\ImgTrans
重映射

把一个图像中一个位置的像素放置到另一个图片指定位置的过程.

仿射变换

一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移).



 = =
有没有觉得之前做的像是在玩PS



【19】 直方图

calcHist_Demo.cpp
&
EqualizeHist_Demo.cpp



直方图是对数据的集合 统计 ,并将统计结果分布于一系列预定义的 bins 中。
直方图可以统计的不仅仅是颜色灰度, 它可以统计任何图像特征 (如 梯度, 方向等等)。


直方图的一些具体细节:
dims: 需要统计的特征的数目, 在上例中, dims = 1 因为我们仅仅统计了灰度值(灰度图像)。
bins: 每个特征空间 子区段 的数目,在上例中, bins = 16
range: 每个特征空间的取值范围,在上例中, range = [0,255]


OpenCV提供了一个简单的计算数组集(通常是图像或分割后的通道)的直方图函数 calcHist 。 支持高达 32 维的直方图。


修改一下例程 ==
我们只做灰度 = =
,演示均衡化 = =


#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>

using namespace std;
using namespace cv;

int main( int argc, char** argv )
{
  Mat src, src_grey,dst;

  /// Load image
  src = imread( "chicky_512.png", 1 );

  if( !src.data )
    { return -1; }

  cvtColor( src, src_grey, CV_BGR2GRAY );

  /// 设定bins数目
  int histSize = 255;

  /// 设定像素值范围
  float range[] = { 0, 255 } ;
  const float* histRange = { range };

  //我们要把bin范围设定成同样大小(均一)以及开始统计前先清除直方图中的痕迹:
  bool uniform = true; bool accumulate = false;

  //最后创建储存直方图的矩阵:
  Mat grey_hist;

  /// Compute the histograms:
  calcHist( &src_grey, 1, 0, Mat(), grey_hist, 1, &histSize, &histRange, uniform, accumulate );

  // Draw the histograms for R, G and B
  int hist_w = 400; int hist_h = 400;
  int bin_w = cvRound( (double) hist_w/histSize );

  Mat histImage( hist_w, hist_h, CV_8UC3, Scalar( 0,0,0) );

  /// Normalize the result to [ 0, histImage.rows ]
  normalize(grey_hist,grey_hist, 0, histImage.rows, NORM_MINMAX, -1, Mat() );

  /// Draw for channel
  for( int i = 1; i < histSize; i++ )
    {
      line( histImage, Point( bin_w*(i),hist_h) ,
                       Point( bin_w*(i), hist_h - cvRound(grey_hist.at<float>(i)) ),
                       Scalar( 127, 127, 127), 2, 8, 0 );
    }

  // Display
  namedWindow("Histogram", CV_WINDOW_AUTOSIZE );
  namedWindow("Original", CV_WINDOW_AUTOSIZE );
  imshow("Original", src_grey );
  imshow("Histogram", histImage );

  waitKey(0);

  return 0;
 
}










本来还想做一个直方图规定化的 = =




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: dspace_systemdesk_tutorial是一个关于DSpace系统桌面的教程。DSpace是一个用于保存、组织和发布数字内容的开源软件,它可用于建立数字库、机构知识库、学术档案等领域。系统桌面是DSpace系统中的一个重要组成部分,它提供了一个用户友好的图形化界面,让用户可以快速方便地操作系统。 dspace_systemdesk_tutorial包含了DSpace系统桌面的安装、配置、使用等方面的详细指导。通过这个教程,用户可以快速掌握DSpace系统桌面的基本使用方法,了解系统桌面的各种功能和特点,以及掌握一些高级的操作技巧和管理方法,使用户能够更好地管理和维护系统,提高数字资源的组织和发布效率。 通过学习dspace_systemdesk_tutorial,用户可以深入了解DSpace系统桌面的工作原理和构成,掌握系统的配置和管理方法,从而更好地利用DSpace系统来保存、组织和发布数字内容。同时,dspace_systemdesk_tutorial还提供了丰富的实例和案例,让用户可以更加直观地了解DSpace系统桌面的应用场景和实际效果,为用户提供了更为全面和贴近实际的指导。 ### 回答2: dspace_systemdesk_tutorial_ 是一份系统桌面教程,主要是为用户提供如何使用 DSpace 系统桌面的指南。DSpace 是一个开源的存储、检索和分发数字内容的软件平台,DSpace 系统桌面是其提供的一种基于 Web 的用户接口。该教程包含了如何使用 DSpace 系统桌面来管理数字内容、设置用户权限、创建和检索元数据等方面的内容。通过这份教程,用户可以快速了解和学习如何使用 DSpace 系统桌面,从而更好地管理自己的数字内容。需要注意的是,该教程不仅适用于初学者,也适用于那些已经使用过 DSpace 系统桌面或其他数字存储平台的用户。总之,dspace_systemdesk_tutorial_ 对于使用 DSpace 系统桌面的用户来说是一份非常有用的指南,可以帮助用户更好地利用数字内容,提升工作效率。 ### 回答3: dspace_systemdesk_tutorial_指的是DSpace的系统管理控制台教程,DSpace是一个开源数字档案存储和管理系统,用于将数字文献、图片、视频等学术研究数据进行管理、保存和公开访问。该教程主要面向系统管理员,涵盖了DSpace系统管理控制台的基础功能和高级特性。 DSpace系统管理控制台可以通过Web浏览器访问,提供了许多管理和配置DSpace的选项。该教程的目的是帮助管理员熟悉和掌握这些选项,从而优化DSpace的性能和功能。 教程的内容包括管理功能、配置选项、设置授权、定期维护和备份等。管理员将学习如何添加、删除或编辑社区、集合和项,管理授权级别和权限,配置元数据方案,定制主题和界面,设置索引和搜索选项,以及监控DSpace系统的运行状态和日志。 此外,该教程还介绍了如何在DSpace中创建和管理位于远程服务器上的持久性标识符(PID),比如DOI和Handle。管理员也可以学习如何设置DSpace的存储策略,并能够利用云存储实现DSpace的扩展和备份。 总之,DSpace系统管理控制台教程是一个非常实用的指南,为DSpace的系统管理员提供了全面的DSpace配置和管理知识,让他们能够从容应对DSpace的管理工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值