📄 threshold.pde
字号:
import hypermedia.video.*;// OpenCV instanceOpenCV opencv;// threshold thresholdfloat threshold = 80f;// image dimensionsfinal int IMG_WIDTH = 120;final int IMG_HEIGHT = 90;// work with which color spacefinal int COLOR_SPACE = OpenCV.RGB;//final int COLOR_SPACE = OpenCV.GRAY;void setup() { size( IMG_WIDTH*6, IMG_HEIGHT*2 ); opencv = new OpenCV(this); opencv.capture(IMG_WIDTH, IMG_HEIGHT); println( "Drag mouse inside sketch window to change threshold" );}void draw() { float value = 0; float otsu = 0; // grab image opencv.read(); // convert color if ( COLOR_SPACE!=OpenCV.RGB ) opencv.convert( COLOR_SPACE ); // type BINARY opencv.threshold( threshold, 255, OpenCV.THRESH_BINARY ); image( opencv.image(), IMG_WIDTH, 0 ); // type BINARY and OTSU opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_BINARY + OpenCV.THRESH_OTSU ); image( opencv.image(), IMG_WIDTH, IMG_HEIGHT ); // type BINARY INVERT opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_BINARY_INV ); image( opencv.image(), IMG_WIDTH*2, 0 ); // type BINARY INVERT and OTSU opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_BINARY_INV + OpenCV.THRESH_OTSU ); image( opencv.image(), IMG_WIDTH*2, IMG_HEIGHT ); // type TRUNC opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_TRUNC ); image( opencv.image(), IMG_WIDTH*3, 0 ); // type TRUNC and OTSU opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_TRUNC + OpenCV.THRESH_OTSU ); image( opencv.image(), IMG_WIDTH*3, IMG_HEIGHT ); // type TO ZERO opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_TOZERO ); image( opencv.image(), IMG_WIDTH*4, 0 ); // type TO ZERO and OTSU opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_TOZERO + OpenCV.THRESH_OTSU ); image( opencv.image(), IMG_WIDTH*4, IMG_HEIGHT ); // type TO ZERO INVERT opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV.THRESH_TOZERO_INV ); image( opencv.image(), IMG_WIDTH*5, 0 ); // type TO ZERO INVERT and OTSU opencv.restore( COLOR_SPACE ); opencv.threshold( threshold, 255, OpenCV. THRESH_TOZERO_INV + OpenCV.THRESH_OTSU ); image( opencv.image(), IMG_WIDTH*5, IMG_HEIGHT ); // draw original images after modification // to verify image( opencv.image(OpenCV.MEMORY), 0, 0 ); opencv.restore( COLOR_SPACE ); image( opencv.image(), 0, IMG_HEIGHT );}void mouseDragged() { threshold = map(mouseX,0,width,0,255); println( "threshold\t-> "+threshold );}public void stop() { opencv.stop(); super.stop();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -