⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blobs.pde

📁 A java based programming environment - processing - free from processing.org. here it uses a free l
💻 PDE
字号:
import hypermedia.video.*;OpenCV opencv;int w = 320;int h = 240;int threshold = 80;boolean find=true;PFont font;void setup() {    size( w*2+30, h*2+30 );    opencv = new OpenCV( this );    opencv.capture(w,h);        font = loadFont( "AndaleMono.vlw" );    textFont( font );    println( "Drag mouse inside sketch window to change threshold" );    println( "Press space bar to record background image" );}void draw() {    background(0);    opencv.read();    //opencv.flip( OpenCV.FLIP_HORIZONTAL );    image( opencv.image(), 10, 10 );	            // RGB image    image( opencv.image(OpenCV.GRAY), 20+w, 10 );   // GRAY image    image( opencv.image(OpenCV.MEMORY), 10, 20+h ); // image in memory    opencv.absDiff();    opencv.threshold(threshold);    image( opencv.image(OpenCV.GRAY), 20+w, 20+h ); // absolute difference image    // working with blobs    Blob[] blobs = opencv.blobs( 100, w*h/3, 20, true );    noFill();    pushMatrix();    translate(20+w,20+h);        for( int i=0; i<blobs.length; i++ ) {        Rectangle bounding_rect	= blobs[i].rectangle;        float area = blobs[i].area;        float circumference = blobs[i].length;        Point centroid = blobs[i].centroid;        Point[] points = blobs[i].points;        // rectangle        noFill();        stroke( blobs[i].isHole ? 128 : 64 );        rect( bounding_rect.x, bounding_rect.y, bounding_rect.width, bounding_rect.height );        // centroid        stroke(0,0,255);        line( centroid.x-5, centroid.y, centroid.x+5, centroid.y );        line( centroid.x, centroid.y-5, centroid.x, centroid.y+5 );        noStroke();        fill(0,0,255);        text( area,centroid.x+5, centroid.y+5 );        fill(255,0,255,64);        stroke(255,0,255);        if ( points.length>0 ) {            beginShape();            for( int j=0; j<points.length; j++ ) {                vertex( points[j].x, points[j].y );            }            endShape(CLOSE);        }        noStroke();        fill(255,0,255);        text( circumference, centroid.x+5, centroid.y+15 );    }    popMatrix();}void keyPressed() {    if ( key==' ' ) opencv.remember();}void mouseDragged() {    threshold = int( map(mouseX,0,width,0,255) );}public void stop() {    opencv.stop();    super.stop();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -