int main(int argc, char ** argv){ Prewitt prewitt = Prewitt(argv[1]); prewitt.get(); char *ptr; thresholdValue = strtol(argv[2], &ptr, 10); imshow(windowName, prewitt.getPrewitt()); // cv::waitKey(0); // prewitt.applyThreshold(thresholdValue); prewitt.save(thresholdValue); // cv::waitKey(0); }
void EdgeDetection(double *src,double *dst,int width,int height,int detector,double threshold,int m_width,int m_height,double deta){ double maxvalue=0; switch (detector) { case EDGE_DETECTOR_ROBERT: { maxvalue=Robert(src, dst,NULL, width, height); Threshold(dst, dst, width, height, maxvalue*threshold, THRESHOLD_TYPE3); break; } case EDGE_DETECTOR_PREWITT: { maxvalue=Prewitt(src, dst, width, height); Threshold(dst, dst, width, height, maxvalue*threshold, THRESHOLD_TYPE3); break; } case EDGE_DETECTOR_SOBEL: { maxvalue=Sobel(src, dst,NULL, width, height,(int)deta); Threshold(dst, dst, width, height, maxvalue*threshold, THRESHOLD_TYPE3); break; } case EDGE_DETECTOR_KIRSCH: { maxvalue=Kirsch(src, dst, width, height); Threshold(dst, dst, width, height, maxvalue*threshold, THRESHOLD_TYPE3); break; } case EDGE_DETECTOR_LOG: { maxvalue=LoG(src, dst, width, height,m_width,m_height,deta,threshold); Threshold(dst, dst, width, height, maxvalue*threshold, THRESHOLD_TYPE3); break; } case EDGE_DETECTOR_LAPLACE: { maxvalue=Laplace(src, dst, width, height); Threshold(dst, dst, width, height, maxvalue*threshold, THRESHOLD_TYPE3); break; } default: break; } }