threshold.pde
来自「A java application - processing which ca」· PDE 代码 · 共 129 行
PDE
129 行
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 + =
减小字号Ctrl + -
显示快捷键?