//-------------------------------------------------------------------------------- ofPixelsRef ofxCvImage::getRoiPixelsRef(){ if(bRoiPixelsDirty) { IplImage * cv8bit= getCv8BitsRoiImage(); ofRectangle roi = getROI(); unsigned char * roi_ptr = (unsigned char*)cv8bit->imageData + ((int)(roi.y)*cv8bit->widthStep + (int)roi.x * cv8bit->nChannels); roiPixels.setFromAlignedPixels(roi_ptr,roi.width,roi.height,cv8bit->nChannels,cv8bit->widthStep); bRoiPixelsDirty = false; } return roiPixels; }
//-------------------------------------------------------------------------------- ofPixels& ofxCvImage::getRoiPixels(){ if(!bAllocated) { ofLogWarning("ofxCvImage") << "getRoiPixels(): image not allocated"; } else if(bRoiPixelsDirty) { IplImage * cv8bit= getCv8BitsRoiImage(); ofRectangle roi = getROI(); unsigned char * roi_ptr = (unsigned char*)cv8bit->imageData + ((int)(roi.y)*cv8bit->widthStep + (int)roi.x * cv8bit->nChannels); roiPixels.setFromAlignedPixels(roi_ptr,roi.width,roi.height,cv8bit->nChannels,cv8bit->widthStep); bRoiPixelsDirty = false; } return roiPixels; }