zoukankan      html  css  js  c++  java
  • 图像处理代码举例(C++、MATLAB、OpenCV)

    一、C中用数组存图像信息,下标索引:

    pbTag[y*newWidth+x]

    见:https://www.cnblogs.com/wxl845235800/p/11149853.html
    HRESULT Imagejoint(PBYTE pbSrc,int iWidth,int iHeight,double dbZoom,PBYTE pbTag)

    PBYTE pbSrc=NULL,pbTag=NULL;//源图、目标图 PBYTE pbImage=NULL;//load图像后存在这 PDWORD pdwImage=NULL;//用于保存图像
            CString str = "src4.bmp";
            LPCTSTR filename = (LPCTSTR)str;
          cImage.Load(filename);
                iWidth=cImage.GetWidth();
                iHeight=cImage.GetHeight();
     //分配源图内存
                pbSrc = (PBYTE)malloc(iWidth*iHeight);


    二、MATLAB用img(m,n),图像下标从1开始。

    Matlab的下标是可以多行多列同时引用的,而像C语言等一次只能引用一个。

    A(2:3,3:-1:1)表示引用数组中的2~3行,3~1列对应的元素 
    A(:,end)表示引用最后一列元素,“:”表示所有列或行,“end”表示最后一列或列,“end-n”表示倒数第n行或列 
    A(1,end-1)表示引用第1行倒数第2个元素 
    A([2 1 3 3],[1 1 2 2 1])表示引用按两个向量引用指定的元素,即A中的第2,1,3,3行和第1,1,2,2,1列对应的元素。

    https://blog.csdn.net/sinat_26492471/article/details/52959511

    ima=double(imread('lenna2.bmp'));

    %原图

    ima=rgb2gray(ima);

    ima(:,:)=255;

    见:https://www.cnblogs.com/wxl845235800/p/10898203.html

    https://www.cnblogs.com/wxl845235800/p/7700887.html

    三、OpenCV中:调用矩阵元素

    (float)img.at<char>(m,n)

    Mat img = imread("test3.png",0);

    std::cout<<(float)img.at<uchar>(1,1)<< std::endl;

    https://www.cnblogs.com/wxl845235800/p/9082025.html

    Mat img = imread("test.png",0);//灰度图
        M=img.rows;//行数、图像高度
        N=img.cols;//列数、图像宽度
    cv::Mat F= (cv::Mat_<int>(64,4) <<
    Mat out(2*M,N,CV_8UC1,Scalar(0));
       for(col=0;col<N;col++)
        {
            for(row=0;row<2*M;row++)
            {
                double tmp=(row-1)/M+1/(2*64);
                int i=floor(tmp);
                int phaseNum=floor((tmp-i)*64)+1;
                if(i==0)
                {
                    out.at<uchar>(row,col)=
                        (float)img.at<uchar>(1,col)*F.at<uchar>(phaseNum,1)+
                        (float)img.at<uchar>(1,col)*F.at<uchar>(phaseNum,2)+
                        (float)img.at<uchar>(2,col)*F.at<uchar>(phaseNum,3)+
                        (float)img.at<uchar>(3,col)*F.at<uchar>(phaseNum,4);
                }
  • 相关阅读:
    简单破解.net(C#)程序
    URL和URI
    Java JDK安装和配置(Windows)
    函数式编程语言
    Http
    drf 序列化获取商品分类数据
    npm install 安装依赖报错
    27-----BBS论坛
    26-----BBS论坛
    25-----BBS论坛
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/11495239.html
Copyright © 2011-2022 走看看