首页 > 代码库 > 实验2014062701:opencv对图像的点操作

实验2014062701:opencv对图像的点操作

#include<Windows.h>
#include<cv.h>
#include<highgui.h>
#include <cxcore.h>
int main(){
    IplImage* img = cvLoadImage("1.jpg");
    IplImage* dst = cvCreateImage(cvGetSize(img),img->depth,1);
    cvNamedWindow("GRAY");
    cvCvtColor(img,dst,CV_BGR2GRAY);
    int height    = dst->height;  
    int width     = dst->width;  
    int step      = dst->widthStep;  
    int channels  = dst->nChannels;  
    uchar *data      = (uchar *)dst->imageData;
    for(int i=0;i<height;i++){
        for(int j=0;j<width;j++){
            for(int k=0;k<channels;k++){
                if(data[i*step+j*channels+k]<210)data[i*step+j*channels+k]=255;
                else data[i*step+j*channels+k]=0;
            }
        }
    }
    while(1){

        cvShowImage("GRAY",dst);
        if(cvWaitKey())break;
    }
    cvReleaseImage(&img);
    return 0;
}