openCV

Opencv2图像裁剪(子图像提取)
int helloworld(IplImage* img)  
{  
    //将图像大小限定为可以被4整除的size  
    int width = img->width/4;  
    int height = img->height/4;  
    width *= 4;  
    height *=4;  
  
    Mat rgb_mat(img, 0);  
    rgb_mat.convertTo(rgb_mat, CV_32F);  
  
    Size mat_size;  
    mat_size.height = height/2;  
    mat_size.width = width/2;  
  
    //构造四个图像矩阵  
    Mat mat_top_left(mat_size, CV_32F); //左上角  
    Mat mat_top_right(mat_size, CV_32F);//右上角  
    Mat mat_bottom_left(mat_size, CV_32F);//左下角  
    Mat mat_bottom_right(mat_size, CV_32F);//右下角  
  
    //把原图分割成四张图  
    rgb_mat(Rect(0, 0, mat_size.width, mat_size.height)).convertTo(mat_top_left, mat_top_left.type(), 1, 0);   
    rgb_mat(Rect(mat_size.width, 0, mat_size.width, mat_size.height)).convertTo(mat_top_right, mat_top_right.type(), 1, 0);   
    rgb_mat(Rect(0, mat_size.height, mat_size.width, mat_size.height)).convertTo(mat_bottom_left, mat_bottom_left.type(), 1, 0);   
    rgb_mat(Rect(mat_size.width, mat_size.height, mat_size.width, mat_size.height)).convertTo(mat_bottom_right, mat_bottom_right.type(), 1, 0);   
}  
opencv之读取图像
 cv::[Mat](http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html#Mat) imread
(
const string&* filename*, int* flags=1*)

flag>0 load的图片强制转换成3通道彩色图像
flag<0 load的图片强制转换成灰度图像

#######opencv读取图像的灰度值并显示出来

#include"cv.h"  
#include"highgui.h"  
#include <iostream>  
using namespace std;  
  
int main(int argc, char** argv)  
{  
    IplImage* src = cvLoadImage( "0.bmp", 0 ); //导入图片  
    int width=src->width;//图片宽度  
    int height = src->height;//图片高度  
  
    for (size_t row=0;row<height;row++)  
    {  
        uchar* ptr = (uchar*)src->imageData+row*src->width;//获得灰度值数据指针  
        for (size_t cols=0;cols<width;cols++)  
        {  
            int intensity=ptr[cols];  
            cout<<intensity<<"  ";  
        }  
    }  
  
    return 0;    
}  
OCR识别技术
  1. openCV library下载地址
  1. 谷歌维护的 Tesseract
    ,支持60多种语言
    收费的 国内 做的比较好的是 ** 云脉** ,只不过套餐价格挺昂贵的
    国外的 ABBYY
    http://www.abbyy.cn/for_developers
    https://github.com/mmackh/MAImagePickerController-of-InstaPDF
    // OCR - PDF
    https://github.com/mstrchrstphr/OCR-iOS-Example
    http://www.cocoachina.com/bbs/read.php?tid-123463-page-2.html
    https://github.com/gali8/Tesseract-OCR-iOS
    OCR处理流程: 预处理+锐化+二值化 +倾斜校正+图片分割。
    1.有效率,有准确率
    2.名片切割
    3.名片旋转校正
    4.名片分行
    5.字符识别
    6.OCR常见错误校正
    7.字符分司校正
    Regular Expression提取名片信息
    http://blog.csdn.net/kastolo/article/details/9039641 // 名片识别
    http://blog.csdn.net/kastolo/article/details/9044937 // 名字识别 100%提取名字
    SAP 冲突算法在OCR中的应用
    https://github.com/tesseract-ocr/tessdata //多语言识别库
    名片扫描通ScanZen 中的URL AutoCorrect

推荐阅读更多精彩内容