精华内容
下载资源
问答
  • 图像倾斜矫正
  • 图像倾斜

    千次阅读 2016-12-05 17:26:06
    使用Matrix类preSkew或者postSkew可以对图像进行倾斜操作,它的两个参数分别为x和y坐标倾斜度,下面使用preSkew对图像进行倾斜变换,Java代码如下: public Bitmap getScrewBitmap() { BitmapDrawable ...

    使用Matrix类preSkew或者postSkew可以对图像进行倾斜操作,它的两个参数分别为x和y坐标倾斜度,下面使用preSkew对图像进行倾斜变换,Java代码如下:

      public Bitmap getScrewBitmap() {
        BitmapDrawable mBitmapDrawable = (BitmapDrawable) getResources().getDrawable(R.drawable.pet);
        Bitmap mBitmap = mBitmapDrawable.getBitmap();
        int width = mBitmap.getWidth();
        int height = mBitmap.getHeight();
    
        Matrix matrix = new Matrix();
        matrix.preSkew(1.0f, 0.15f);
        Bitmap mScrewBitmap = Bitmap.createBitmap(mBitmap, 0, 0, width, height, matrix, true);
    
        return mScrewBitmap;
      }

    这里写图片描述

    展开全文
  • 图像倾斜纠正

    2013-05-02 16:30:16
    图像倾斜纠正
  • 图像倾斜矫正

    2018-07-09 17:27:14
    算法实现了图像倾斜矫正部分,可以实现大部分图像倾斜矫正,比较理想
  • python 图像倾斜校正

    千次阅读 2019-07-30 16:31:25
    图像倾斜可以分为两种情况,一种是平面倾斜,这种情况下拍照设备与试卷平行,拍出来的图像只需要进行旋转即可完成矫正;另一种是Z轴倾斜,这种情况下拍照设备与试卷存在一定的角度,拍出来的图像要先进行透视变换,...

    图像倾斜可以分为两种情况,一种是平面倾斜,这种情况下拍照设备与试卷平行,拍出来的图像只需要进行旋转即可完成矫正;另一种是Z轴倾斜,这种情况下拍照设备与试卷存在一定的角度,拍出来的图像要先进行透视变换,然后再进行旋转等操作才可以完成矫正。

    图像倾斜矫正关键在于根据图像特征自动检测出图像倾斜方向和倾斜角度。

    对于平面倾斜,先利用边缘(轮廓)检测算法算法找到图像的边界,然后利用 Radon变换法(基于投影的方法) 、 Hough变换法 、线性回归法等找到倾斜角度,然后再利用 仿射变换 进行旋转。

    对于Z轴倾斜,先利用边缘(轮廓)检测算法找到图像的边界,然后利用 透视变换 把视平面上的点投影到现实平面,然后再利用仿射变换进行旋转。

    • 边缘检测
      边缘检测容易受到噪声影响,一般第一步都是用5*5的高斯滤波器去除噪声
    #!/usr/bin/env python 
    # -*- coding:utf-8 -*-
    import numpy as np
    import cv2
    
    img = cv2.imread('./qingxie.png')
    
    img = cv2.GaussianBlur(img,(3,3),0)#高斯模糊  去噪 以免影响边缘检测
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    edges = cv2.Canny(gray,50,250,apertureSize = 3)#边缘检测
    cv2.imwrite("canny.jpg", edges)
    

    原图:
    平面倾斜图
    边缘检测后:
    在这里插入图片描述
    cv2.Canny()函数的函数原型为:

    edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
    
    • 第一个参数是输入图像,必须是单通道的灰度图;
    • 第二个和第三个参数是minVal和maxVal;
    • apertureSize 为卷积核大小,默认为3;
    • L2gradient 参数设定求梯度大小的方程
      (卷积核:卷积核具有的一个属性就是局部性。即它只关注局部特征,局部的程度取决于卷积核的大小。比如用 Sobel 算子进行边缘检测,本质就是比较图像邻近像素的相似性。)

    其中maxVal用于检测图像中明显的边缘,但一般情况下检测的效果不会那么完美,边缘检测出来是断断续续的。所以这时候用minVal将这些间断的边缘连接起来。

    可选参数中apertureSize就是Sobel算子的大小。而L2gradient参数是一个布尔值,如果为真,则使用更精确的L2范数进行计算(即两个方向的倒数的平方和再开放),否则使用L1范数(直接将两个方向导数的绝对值相加)。

    python Canny参考资料

    可以看到,在上述步骤后,内部线条也被检测了出来,下面就利用霍夫变换得到边缘(霍夫变换参考):

    展开全文
  • 针对含有文本、图像、表格和公式等复杂扫描电子文档的倾斜校正问题,提出了一种基于Shearlet(剪切波)变换与多尺度分析的复杂文档图像倾斜检测方法,利用剪切波变换的局部性和方向性,可以得到各个方向的能量值,能量最高...
  • 针对现有生物芯片图像倾斜校正算法校正精度和运算速度的矛盾问题,提出对矩形样点和圆形样点图像分别采用改进的Hough变换和改进的Radon变换方法进行倾斜校正。改进的Hough变换首先对图像进行二值化,并仅统计矩形样点...
  • 【Matlab】车牌图像倾斜校正算法的MATLAB实现

    万次阅读 多人点赞 2018-06-19 23:43:06
    车牌校正是车牌定位和字符分割的一个...本部分主要讲车牌图像倾斜校正算法的MATLAB实现,包括Hough变换法和Radon变换法等。 1. 基于Hough变换的车牌图像倾斜校正算法 利用Hough变换检测车牌的边框,确定边框直线...

           车牌校正是车牌定位和字符分割的一个重要处理过程。经过车牌定位后所获取的车牌图像不可避免地存在某种程度的倾斜,这种倾斜不仅会给下一步字符分割带来困难,最终对车牌识别的正确率造成影响。本部分主要讲车牌图像倾斜校正算法的MATLAB实现,包括Hough变换法和Radon变换法等。

    1. 基于Hough变换的车牌图像倾斜校正算法

          利用Hough变换检测车牌的边框,确定边框直线的倾斜角度,根据倾斜角度旋转,获得校正后的图像。具体步骤如下:

    • 图像预处理。读取图像,转换为灰度图像,去除离散噪声点。
    • 利用边缘检测,对图像中的水平线进行强化处理。
    • 基于Hough变换检测车牌图像的边框,获取倾斜角度。
    • 根据倾斜角度,对车牌图像进行倾斜校正。
    % 利用hough变换实现车牌图像的倾斜校正
    close all; clear all; clc;
    I = imread('车牌1.jpg');  % read image into workspace
    figure;
    subplot(131), imshow(I); 
    I1 = rgb2gray(I);  % 将原始图像转换为灰度图像
    I2 = wiener2(I1, [5, 5]);  % 对灰度图像进行维纳滤波
    I3 = edge(I2, 'canny');  % 边缘检测
    subplot(132), imshow(I3); 
    [m, n] = size(I3);  % compute the size of the image
    rho = round(sqrt(m^2 + n^2)); % 获取ρ的最大值,此处rho=282
    theta = 180; % 获取θ的最大值
    r = zeros(rho, theta);  % 产生初值为0的计数矩阵
    for i = 1 : m
       for j = 1 : n
          if I3(i,j) == 1  % I3是边缘检测得到的图像
              for k = 1 : theta
                 ru = round(abs(i*cosd(k) + j*sind(k)));
                 r(ru+1, k) = r(ru+1, k) + 1; % 对矩阵计数 
              end
          end
       end
    end
    r_max = r(1,1); 
    for i = 1 : rho
       for j = 1 : theta
           if r(i,j) > r_max
              r_max = r(i,j); 
              c = j; % 把矩阵元素最大值所对应的列坐标送给c
           end
       end
    end
    if c <= 90
       rot_theta = -c;  % 确定旋转角度
    else
        rot_theta = 180 - c; 
    end
    I4 = imrotate(I1, rot_theta, 'crop');  % 对图像进行旋转,校正图像
    subplot(133), imshow(I4);
    set(0, 'defaultFigurePosition', [100, 100, 1200, 450]); % 修改图像位置的默认设置
    set(0, 'defaultFigureColor', [1, 1, 1]); % 修改图像背景颜色的设置

     

    2. 基于Radon变换的车牌图像倾斜校正算法的实现

          将车牌图像朝各个方向投影,进而通过分析各方向的投影特性确定车牌的倾斜角度。具体的实现步骤如下:

    • 图像预处理。读取图像,转换为灰度图,去除离散噪声点。
    • 利用边缘检测,对图像中水平线进行强化处理。
    • 计算图像的Radon变换,获取倾斜角度。
    • 根据倾斜角度,对车牌图像进行倾斜校正。
    close all; clear all; clc; 
    I = imread('车牌1.jpg'); 
    subplot(131), imshow(I);
    I1 = rgb2gray(I); 
    I2 = wiener2(I1, [5, 5]); 
    I3 = edge(I2, 'canny'); 
    subplot(132), imshow(I3); 
    theta = 0 : 179;
    r = radon(I3, theta); 
    [m, n] = size(r); 
    c = 1; 
    for i = 1 : m
       for j = 1 : n
          if r(1,1) < r(i,j)
             r(1,1) = r(i,j);
             c = j;
          end
       end
    end
    rot_theta = 90 - c; 
    I5 = imrotate(I, rot_theta, 'crop');
    subplot(133), imshow(I5); 

    展开全文
  • matlab 图像 倾斜校正

    2018-01-18 11:04:58
    matlab实现的图像倾斜矫正,比如倾斜拍摄的图片可以矫正成正拍图片。矫正中需要认为指定校正点。
  • 行业分类-设备装置-纸币图像倾斜校正与区域提取方法.zip
  • 生物芯片微阵列图像倾斜校正算法研究.pdf
  • 数字文本图像倾斜校正方法研究,沈跃辉,,文本倾斜检测和校正是图像处理的关键所在。针对上述问题,通过研究一些传统的倾斜检测理论和检测方法,充分理解倾斜检测的关键技
  • RotateImage Matlab图像旋转(FFT矫正图像倾斜)
  • 针对文本图像倾斜检测的问题, 提出了一种新的基于几何约束的文本图像倾斜角自动检测算法。该算法采用边界标记自动机的方法对一组同行字符轮廓进行检测从而得到该组字符轮廓的最低点信息, 再用矩的方法剔除噪声字符, ...
  • 针对票据图像,考虑框线变换后参数空间分布,提出了一个改进的基于Hough变换的票据图像倾斜检测与校正方法。通过对图像进行平移变换,选择图像中心作为原点,使得框线变换后的参数空间,呈现对称的蝶形,从而更容易检测出...
  • opencv vc++ c+ 图像倾斜校正

    热门讨论 2012-08-09 14:32:55
    计算图像倾斜角度 进行校正 opencv +Vc++
  • Radon(拉东)算法是一种通过定方向投影叠加,找到最大投影值时角度,从而确定图像倾斜角度的算法。具体过程如图所示 拉东变换 若函数F表示一个未知的密度,对F做radon变换,相当于得到F投影后的讯号,举例来说:F...

    图像预处理

    在ocr处理时候,可能遇到的图片会是倾斜的,导致检测不全问题,进而影响后续识别问题。

    常见的倾斜矫正方法

    • 霍夫变换轮廓检测
    • randon 变换
    • 基于PCA的方法

    radon变换

    本节说下randon变换

    • 基本原理
      Radon(拉东)算法是一种通过定方向投影叠加,找到最大投影值时角度,从而确定图像倾斜角度的算法。具体过程如图所示
      在这里插入图片描述

    • 实现

    import cv2
    import sys
    import time
    import numpy as np
    
    from skimage.transform import radon
    
    
    filename = sys.argv[1]
    # Load file, converting to grayscale
    t1 = time.time()
    img = cv2.imread(filename)
    I = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    h, w = I.shape
    # If the resolution is high, resize the image to reduce processing time.
    # lower resolution, lower process time.
    """
    if (w > 640):
        I = cv2.resize(I, (640, int((h / w) * 640)))
    """
    if (w > 240):
        I = cv2.resize(I, (240, int((h / w) * 240)))
    
    I = I - np.mean(I)  # Demean; make the brightness extend above and below zero
    # Do the radon transform
    sinogram = radon(I)
    # Find the RMS value of each row and find "busiest" rotation,
    # where the transform is lined up perfectly with the alternating dark
    # text and white lines
    r = np.array([np.sqrt(np.mean(np.abs(line) ** 2)) for line in sinogram.transpose()])
    rotation = np.argmax(r)
    print('Rotation: {:.2f} degrees'.format(90 - rotation))
    
    # Rotate and save with the original resolution
    M = cv2.getRotationMatrix2D((w/2, h/2), 90 - rotation, 1)
    t2 = time.time()
    print(t2-t1)
    dst = cv2.warpAffine(img, M, (w, h))
    cv2.imwrite('rotated.jpg', dst)
    cv2.imshow('dst', dst)
    cv2.waitKey()
    

    结果

    在这里插入图片描述

    在这里插入图片描述

    参考

    展开全文
  • 图像倾斜校正

    热门讨论 2013-04-10 09:07:18
    此程序用于图像倾斜校正,能很好的运行,请大家试用,有问题探讨哦
  • hough,radon图像倾斜校正matlab源码

    热门讨论 2013-12-22 21:11:30
    hough,radon图像倾斜校正matlab源码
  • 基于形态学和霍夫变换的文档图像倾斜检测,张志伟,孔凡让,倾斜检测与校正是文档图像预处理中的一个重要环节。目前存在的各种文档倾斜方法难以同时兼顾检测精确度和处理速度。为此,提出了
  • 主要介绍了Java图像倾斜的方法及实例,需要的朋友可以参考下
  • 在分析现有倾斜检测算法基础上,提出一种改进的文档图像倾斜检测算法。该算法首先对文档图像进行图像增强、去噪和二值化处理,然后提取边界线、计算每条边界线的角度,最后计算加权平均得到文档图像的倾斜角度。通过...
  • 基于Prewitt算子和旋转投影提出一种新的纸币图像倾斜校正法.该方法采用水平边缘检测、垂直边缘检测以及旋转投影求取纸币图像的水平倾斜角度和垂直倾斜角度,然后对水平倾斜的纸币图像进行双线性插值旋转校正,对...
  • 针对现有生物芯片图像倾斜校正算法校正精度和运算速度的矛盾问题,提出对矩形样点和圆形样点图像分别采用改进的Hough变换和改进的Radon变换方法进行倾斜校正。改进的Hough变换首先对图像进行二值化,并仅统计矩形样...
  • 行业分类-物理装置-图像倾斜校正的方法、装置、电子设备和存储介质.zip
  • 文档图像倾斜角检测及校正。 本项目为Matlab程序,在这里你将能够获取所有的源代码以及测试图片,完全可以在你自己的Matlab上跑这些程序。 其中angleDetectionX.m(X=1,2,3,4)是倾斜角检测程序,测试图片为line.bmp...
  • 车牌图像倾斜校正

    千次阅读 2013-08-12 21:14:37
    图像倾斜校正首先要获得图像的倾斜角度,我们采用Hough变换求得图像的倾斜角度。 //Hough变换求图像倾斜角度  /*************************************************************************  *  * 函数
  • 计算图像中物体倾斜角的大小,并根据计算出来的角度将图像旋转正,通过python实现
  • 随着多媒体技术的不断发展,数码相机,高清拍照手机等...因此,倾斜图像校正是当前文本图像研 宄领域中十分重要的课题,尤其在数字化、自动化领域。比如,提高OCR(Optical Character Recognition)识别率从而提高文档自

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,082
精华内容 10,832
关键字:

图像倾斜