压缩感知关于图像处理
2015-01-06 22:37:00 weixin_34072857 阅读数 4

点击链接进入相关博文


1.来自西弗吉利亚大学li xin整理的CV代码合集


主要包括:

    1.图像去噪,编码,去马赛克,超分辨,分割,去模糊,纹理合成,修复,质量评估等

    2.视频编码和目标追踪,动作匹配,视觉追踪

    3.Low Rank近似等

    4.深度学习,机器学习和神经网络

    5.压缩感知

    6.多视角几何


2.2013计算机视觉代码合集(一、二)

主要包括以下内容:

      1.特征提取Feature Extraction

     2.图像分割Image Segmentation

     3.目标检测Object Detection:

     4.显著性检测Saliency Detection:

     5.图像分类、聚类Image Classification, Clustering

     6.抠图Image Matting

     7.目标跟踪Object Tracking:

     8.Kinect

     9.3D相关:

    10.机器学习算法: 

    11.目标、行为识别Object, Action Recognition:

    12.图像处理:

    13.一些实用工具:

        EGT: a Toolbox for Multiple View Geometry and Visual Servoing[Project] [Code]
        a development kit of matlab mex functions for OpenCV library[Project]
        Fast Artificial Neural Network Library[Project]

   14.人手及指尖检测与识别:

   15.场景解释

   16.光流Optical flow:

   17.图像检索Image Retrieval:

   18.马尔科夫随机场Markov Random Fields: 

   19.运动检测Motion detection:


转载于:https://www.cnblogs.com/engineerLF/p/5393070.html

2015-01-06 22:37:00 weixin_34179762 阅读数 4

点击链接进入相关博文


1.来自西弗吉利亚大学li xin整理的CV代码合集


主要包括:

    1.图像去噪,编码,去马赛克,超分辨,分割,去模糊,纹理合成,修复,质量评估等

    2.视频编码和目标追踪,动作匹配,视觉追踪

    3.Low Rank近似等

    4.深度学习,机器学习和神经网络

    5.压缩感知

    6.多视角几何


2.2013计算机视觉代码合集(一、二)

主要包括以下内容:

      1.特征提取Feature Extraction

     2.图像分割Image Segmentation

     3.目标检测Object Detection:

     4.显著性检测Saliency Detection:

     5.图像分类、聚类Image Classification, Clustering

     6.抠图Image Matting

     7.目标跟踪Object Tracking:

     8.Kinect

     9.3D相关:

    10.机器学习算法: 

    11.目标、行为识别Object, Action Recognition:

    12.图像处理:

    13.一些实用工具:

        EGT: a Toolbox for Multiple View Geometry and Visual Servoing[Project] [Code]
        a development kit of matlab mex functions for OpenCV library[Project]
        Fast Artificial Neural Network Library[Project]

   14.人手及指尖检测与识别:

   15.场景解释

   16.光流Optical flow:

   17.图像检索Image Retrieval:

   18.马尔科夫随机场Markov Random Fields: 

   19.运动检测Motion detection:


转载于:https://www.cnblogs.com/engineerLF/p/5393070.html

2015-01-06 22:37:16 qianhen123 阅读数 2273

点击链接进入相关博文


1.来自西弗吉利亚大学li xin整理的CV代码合集


主要包括:

    1.图像去噪,编码,去马赛克,超分辨,分割,去模糊,纹理合成,修复,质量评估等

    2.视频编码和目标追踪,动作匹配,视觉追踪

    3.Low Rank近似等

    4.深度学习,机器学习和神经网络

    5.压缩感知

    6.多视角几何


2.2013计算机视觉代码合集(一、二)

主要包括以下内容:

      1.特征提取Feature Extraction

     2.图像分割Image Segmentation

     3.目标检测Object Detection:

     4.显著性检测Saliency Detection:

     5.图像分类、聚类Image Classification, Clustering

     6.抠图Image Matting

     7.目标跟踪Object Tracking:

     8.Kinect

     9.3D相关:

    10.机器学习算法: 

    11.目标、行为识别Object, Action Recognition:

    12.图像处理:

    13.一些实用工具:

        EGT: a Toolbox for Multiple View Geometry and Visual Servoing[Project] [Code]
        a development kit of matlab mex functions for OpenCV library[Project]
        Fast Artificial Neural Network Library[Project]

   14.人手及指尖检测与识别:

   15.场景解释

   16.光流Optical flow:

   17.图像检索Image Retrieval:

   18.马尔科夫随机场Markov Random Fields: 

   19.运动检测Motion detection:


2016-06-21 10:38:41 sungo2012 阅读数 778

车牌识别

1、车牌识别流程

1.1 车牌提取

Created with Raphaël 2.1.0开始 (1)读取图像(2)灰度化(3)灰度拉伸(4)腐蚀(5)拉伸减去腐蚀(6)二值化(7)中值滤波(8)腐蚀去噪(9)膨胀恢复车牌位置(10)水平投影(11)分割ROI结束

(3)灰度拉伸

Created with Raphaël 2.1.0开始统计直方图计算概率结束

OpenCV2.1.0
直方图统计后,除以图像总像素即为概率,根据灰度值大小(0~255),对灰度值进行变上限积分,求取概率分布函数。取得分布函数后,以10%和90%概率区间的位置作为上下阈值,高于90%阈值为255,低于10%,设置为0,位于该区域之间,则以255的总大小进行拉伸y=(x-low)/(high-low)*255

        //求存放图象各个灰度级出现的次数
        for(int y=0;y<src->height;y++)
        {
            uchar * ptr=(uchar*)(src->imageData +y*src->widthStep);
            for(int x=0;x<src->width;x++)
            {
                stretch_num[ptr[x]]++;
            }
        }
        //求存放图像各个灰度级的出现概率
        for(int i=0;i<256;i++)
            {
                stretch_p[i]=stretch_num[i]/(src->width*src->height);
            }

        //求存放各个灰度级之前的概率和
        for(int i=0;i<256;i++)
            {
                for(int k=0;k<=i;k++)
                    stretch_p1[i]+=stretch_p[k];
            }
            //统计出两个阈值点的值
        for(int i=0;i<256;i++)
            {
                if(stretch_p1[i]<0.1) //low_value 取接近10%的总像素的灰度值
                {
                  low_value=i;
                 }
                if(stretch_p1[i]>0.9) //high_value取接近90%的总像素的灰度值
                {
                   high_value=i;
                   break;
                }
            }
        rate=(float)255/(high_value-low_value+1);
      //进行灰度拉伸
          for(int y=0;y<src->height;y++)
            {
                uchar * ptr_src=(uchar *)(src->imageData+y*src->widthStep);
                uchar * ptr_dst=(uchar *)(dst->imageData+y*dst->widthStep);
                for(int x=0;x<src->width;x++)
                {
                    if(ptr_src[x]<low_value)
                    {
                        ptr_dst[x]=0;
                    }
                    else if(ptr_src[x]<high_value)
                    {
                        ptr_dst[x]=(uchar)((ptr_src[x]-low_value)*rate+0.5);
                            if(ptr_dst[x]>255)
                                ptr_dst[x]=high_value;
                    }
                    else if(ptr_src[x]>=high_value)
                    {
                        ptr_dst[x]=255;
                    }
                }
          }

中值滤波
从第二行到倒数第二行,每个元素取5*1窗口,元素分别来自于相邻5行同一列,取中值作为中间像素值

//中值滤波
    for(int j=2;j<dst->height-2;j++)
    {  
        uchar *ptr_dst=(uchar*)(dst->imageData+j*dst->widthStep);
        for(int i=0;i<dst->width;i++)
        {
            //把5*1屏蔽窗口的所有像素值放入pFilter_Image_Pixel[m]
            int m=0;
            for(int y=j-2;y<=j+2;y++)
            {
                uchar *ptr_src=(uchar*)(src->imageData+y*src->widthStep);
                for(int x=i;x<=i;x++)
                {
                    pFilter_Image_Pixel[m]=ptr_src[i];
                    m++;
                }
            }
            //把pFilter_Image_Pixel[m]中的值按降序排列
            do{
                    flag=0;
                    for(int m=0;m<4;m++)
                    {
                        if(pFilter_Image_Pixel[m]<pFilter_Image_Pixel[m+1])
                        {
                            temp=pFilter_Image_Pixel[m];
                            pFilter_Image_Pixel[m]=pFilter_Image_Pixel[m+1];
                            pFilter_Image_Pixel[m+1]=temp;
                            flag=1;
                        }
                     }
               }while(flag==1);
            mid_pixel_value=pFilter_Image_Pixel[2];//求中值mid_pixel_value
            ptr_dst[i]=mid_pixel_value;//将中值赋给目标图像的当前点
        }
    }

1.2 车牌校正

第三步

1.3 车牌字符提取

第四步

1.4 车牌字符识别

第五步

2016-06-20 11:21:24 sungo2012 阅读数 177

1、前言

最近及以后的较长时间都会记录图像处理相关东西,中间应该也会穿插其他工作。

对一些典型应用进行记录,不求大而全,但求小而精。先做简单记录,后续有机会可以进行慢慢完善。










参考文献

1、Visual C++ 数字图像模式识别典型案例详解

2、Visual C++数字图像处理技术详解


FPGA,图像处理

博文 来自: weishunyu
没有更多推荐了,返回首页