?? jumbo_shrimp.java
字號(hào):
import processing.core.*;
import processing.xml.*;
import hypermedia.video.*;
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import java.util.zip.*;
import java.util.regex.*;
public class jumbo_shrimp extends PApplet {
/** * blue = smallest (shrimp) blob * red = largest (jumbo) blob */OpenCV opencv;int w = 320;int h = 240;float value = 80;boolean preview = true;public void setup() { size( w, h ); opencv = new OpenCV( this ); opencv.capture(w,h); println( "Drag mouse inside sketch window to change threshold" );}public void draw() { Blob[] blobs; background(0); noStroke(); opencv.read(); opencv.flip( OpenCV.FLIP_HORIZONTAL ); opencv.convert( OpenCV.GRAY ); opencv.absDiff(); opencv.threshold(value); image( opencv.image(OpenCV.MEMORY), 0, 0 ); if ( preview ) image( opencv.image(), 0, 0 ); // find jumbo blob blobs = opencv.blobs( 1000, w*h, 1, false ); fill(255,0,0); if ( blobs.length>0 ) { beginShape(); for( int i=0; i<blobs[0].points.length; i++ ) { vertex( blobs[0].points[i].x, blobs[0].points[i].y ); } endShape(CLOSE); } // restore image opencv.restore(); opencv.flip( OpenCV.FLIP_HORIZONTAL ); opencv.convert( OpenCV.GRAY ); opencv.absDiff(); opencv.threshold(value); // find shrimp blob blobs = opencv.blobs( 1, 100, 1, false ); fill(0,0,255); if ( blobs.length>0 ) { beginShape(); for( int i=0; i<blobs[0].points.length; i++ ) { vertex( blobs[0].points[i].x, blobs[0].points[i].y ); } endShape(CLOSE); }}public void mouseDragged() { value = map(mouseX,0,width,0,255); preview = true;}public void mouseReleased() { preview = false;}public void keyPressed() { opencv.remember();}public void stop() { opencv.stop(); super.stop();} static public void main(String args[]) {
PApplet.main(new String[] { "--bgcolor=#D4D0C8", "jumbo_shrimp" });
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -