← index
acidcamGL/source/plugin/stereo.glitch.strobe/stereo.glitch.cpp
Source: acidcamGL/source/plugin/stereo.glitch.strobe/stereo.glitch.cpp
#include"ac.h"
#include<cstdlib>
#include<ctime>

extern "C" void filter(cv::Mat  &frame) {
    cv::Mat img;
    ac::ac_resize(frame, img, cv::Size(frame.cols/2, frame.rows));
    cv::Mat copy = img.clone();
    static int dir = 1;
    if(dir == 1) {
        ac::Square_Block_Resize_Vertical(copy);
        ac::Square_Block_Resize_Vertical_RGB(img);
        dir = 0;
    } else {
        ac::Square_Block_Resize_Vertical(img);
        ac::Square_Block_Resize_Vertical_RGB(copy);
        dir = 1;
    }
    for(int z = 0; z < frame.rows; ++z) {
        int x = 0;
        for(int i = frame.cols/2; i < frame.cols; ++i) {
            cv::Vec3b &pixel = frame.at<cv::Vec3b>(z, i);
            cv::Vec3b pix = img.at<cv::Vec3b>(z, x);
            ++x;
            pixel = pix;
        }
        for(int i = 0; i < frame.cols/2; ++i) {
            cv::Vec3b &pixel = frame.at<cv::Vec3b>(z, i);
            cv::Vec3b pix = copy.at<cv::Vec3b>(z, i);
            pixel = pix;
        }
    }
}