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 + -
显示快捷键?