Skip to content

Instantly share code, notes, and snippets.

@yoggy
Created December 26, 2013 08:10
Show Gist options
  • Save yoggy/8131133 to your computer and use it in GitHub Desktop.
Save yoggy/8131133 to your computer and use it in GitHub Desktop.
//
// sample sketch for "OpenCV for Processing" library...
//
import gab.opencv.*;
import org.opencv.core.*;
import org.opencv.imgproc.*;
String image_url = "http://example.com/path/to/movie.jpg";
OpenCV opencv;
Mat test_img;
Mat loadImageMat(String url) {
opencv.loadImage(url);
Mat bgra_mat = opencv.getColor(); // BGRA
return bgra_mat;
// Mat bgr_mat = new Mat(bgra_mat.cols(), bgra_mat.rows(), CvType.CV_8UC3);
// Imgproc.cvtColor(bgra_mat, bgr_mat, Imgproc.COLOR_BGRA2BGR);
// return bgr_mat;
}
PImage convertToPImage(Mat src) {
PImage pimage = createImage(src.cols(), src.rows(), ARGB);
if (src.channels() == 1) {
Mat bgra_mat = new Mat(src.cols(), src.rows(), CvType.CV_8UC4);
Imgproc.cvtColor(src, bgra_mat, Imgproc.COLOR_GRAY2BGRA);
opencv.toPImage(bgra_mat, pimage);
}
else if (src.channels() == 3) {
Mat bgra_mat = new Mat(src.cols(), src.rows(), CvType.CV_8UC4);
Imgproc.cvtColor(src, bgra_mat, Imgproc.COLOR_BGR2BGRA);
opencv.toPImage(bgra_mat, pimage);
}
else {
opencv.toPImage(src, pimage);
}
return pimage;
}
void setup() {
size(640, 480);
opencv = new OpenCV(this, width, height);
}
void draw() {
tint(#aaeeff, 40);
Mat img = loadImageMat(image_url);
PImage pimage = convertToPImage(img);
image(pimage, 0, 0);
if (frameCount % 30 == 0) {
println("fps=" + frameRate);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment