getting project setup

This commit is contained in:
lostjared
2017-02-01 03:00:37 -08:00
parent dc2bf673ce
commit 957da58e2c
8 changed files with 169 additions and 15 deletions

View File

@@ -0,0 +1,13 @@
######################################################################
# Automatically generated by qmake (2.01a) Wed Feb 1 02:31:01 2017
######################################################################
TEMPLATE = app
TARGET = Acid.Cam.v2.Qt
DEPENDPATH += .
INCLUDEPATH += . /usr/include/
LIBS += /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so -lopencv_calib3d /usr/lib/x86_64-linux-gnu/libopencv_contrib.so -lopencv_contrib /usr/lib/x86_64-linux-gnu/libopencv_core.so -lopencv_core /usr/lib/x86_64-linux-gnu/libopencv_features2d.so -lopencv_features2d /usr/lib/x86_64-linux-gnu/libopencv_flann.so -lopencv_flann /usr/lib/x86_64-linux-gnu/libopencv_gpu.so -lopencv_gpu /usr/lib/x86_64-linux-gnu/libopencv_highgui.so -lopencv_highgui /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so -lopencv_imgproc /usr/lib/x86_64-linux-gnu/libopencv_legacy.so -lopencv_legacy /usr/lib/x86_64-linux-gnu/libopencv_ml.so -lopencv_ml /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so -lopencv_objdetect /usr/lib/x86_64-linux-gnu/libopencv_ocl.so -lopencv_ocl /usr/lib/x86_64-linux-gnu/libopencv_photo.so -lopencv_photo /usr/lib/x86_64-linux-gnu/libopencv_stitching.so -lopencv_stitching /usr/lib/x86_64-linux-gnu/libopencv_superres.so -lopencv_superres /usr/lib/x86_64-linux-gnu/libopencv_ts.so -lopencv_ts /usr/lib/x86_64-linux-gnu/libopencv_video.so -lopencv_video /usr/lib/x86_64-linux-gnu/libopencv_videostab.so -lopencv_videostab
# Input
HEADERS += main_window.h new_dialog.h plugin.h qtheaders.h select_image.h ac.h fractal.h
SOURCES += main.cpp main_window.cpp new_dialog.cpp plugin.cpp select_image.cpp ac.cpp fractal.cpp

View File

@@ -1,12 +0,0 @@
######################################################################
# Automatically generated by qmake (2.01a) Wed Feb 1 02:31:01 2017
######################################################################
TEMPLATE = app
TARGET = Acid.Cam.v2.Qt
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += main_window.h new_dialog.h plugin.h qtheaders.h select_image.h
SOURCES += main.cpp main_window.cpp new_dialog.cpp plugin.cpp select_image.cpp

View File

@@ -5,9 +5,7 @@
*/ */
#ifndef __AC_H__ #ifndef __AC_H__
#define __AC_H__ #define __AC_H__
#include<opencv2/videoio.hpp> #include<opencv2/opencv.hpp>
#include<opencv2/imgproc.hpp>
#include<opencv2/highgui.hpp>
#include<iostream> #include<iostream>
#include<fstream> #include<fstream>
#include<string> #include<string>

119
src/fractal.cpp Normal file
View File

@@ -0,0 +1,119 @@
/*
* Acid Cam v2 - OpenCV Edition
* written by Jared Bruni ( http://lostsidedead.com )
* (C) 2016 GPL
*/
#include "fractal.h"
namespace frac {
double paramA = -1.0;//0.519;
double paramB = 0.2;
float zoom_x = 1.5, zoom_y = 1.5, zoom_w = 0.5, zoom_h = 0.5;
double red_color = 6;
double green_color = 25;
double blue_color = 50;
float mod_x = 0.5;
float mod_y = 0.5;
float radius = 180.0f;
int dir = 1;
long max_iter = 40;
}
void frac::FractalLogic() {
static double alpha_r = 1.0;
alpha_r += 0.05;
red_color += alpha_r;
green_color += alpha_r;
blue_color += alpha_r;
if(alpha_r > 255) alpha_r = 1.0;
if(red_color > 255) red_color = rand()%255;
if(green_color > 255) green_color = rand()%255;
if(blue_color > 255) blue_color = rand()%255;
switch(dir) {
case 1: {
paramA += 0.005;
if(paramA >= 1.0) {
dir = 2;
paramB += 0.05;
if(paramB >= 1.0) {
dir = 3;
}
}
}
break;
case 2: {
paramA -= 0.005;
if(paramA <= -1) {
paramB += 0.05;
dir = 1;
if(paramB >= 1.0) {
dir = 4;
}
}
}
break;
case 3: {
paramB -= 0.005;
if(paramB <= -1.0) {
dir = 3;
paramA -= 0.05;
if(paramA <= -1) {
dir = 1;
}
}
}
break;
case 4: {
paramB += 0.005;
if(paramB >= 1) {
paramA += 0.05;
dir = 3;
if(paramA >= 1) {
dir = 2;
}
}
}
break;
}
// std::cout << paramA << ": " << paramB << " :" << " dir: " << dir << "\n";
}
void frac::DrawFractal(cv::Mat &frame, bool neg)
{
float x1=mod_x-1.0f*zoom_x;
float x2=mod_x+1.0f*zoom_w;
float y1=mod_y-1.0f*zoom_y;
float y2=mod_y+1.0f*zoom_h;
int width=frame.cols, height=frame.rows;
std::complex<double> C (paramA, paramB);
std::complex<double> Z;
int i = 0;
for (int x = 0; x < width; ++x)
{
for (int y = 0; y < height; ++y)
{
//C=std::complex<double>((double)(x*(x2-x1)/width+x1), (double)(y*(y2-y1)/height+y1));
Z=std::complex<double>((double)(x*(x2-x1)/width+x1), (double)(y*(y2-y1)/height+y1));
//Z=std::complex<double>(0, 0);
for (i = 0; i < max_iter && std::abs(Z) < 2; i++)
{
Z=Z*Z+C;
}
cv::Vec3b &cf = frame.at<cv::Vec3b>(y, x);
if(i == max_iter) {
} else {
cf[2] += sin(i*red_color/100)*255;
cf[1] += sin(i*green_color/100)*255;
cf[0] += sin(i*blue_color/100)*255;
}
}
if(x > frame.size().width) break;
}
}

24
src/fractal.h Normal file
View File

@@ -0,0 +1,24 @@
/*
* Acid Cam v2 - OpenCV Edition
* written by Jared Bruni ( http://lostsidedead.com )
* (C) 2016 GPL
*/
#ifndef __FRACTAL__H_
#define __FRACTAL__H_
#include<opencv2/opencv.hpp>
#include<complex>
#include<string>
namespace frac {
extern double paramA,paramB;
extern float radius;
extern float zoom_x, zoom_y, zoom_w, zoom_h;
extern long max_iter;
extern double red_color, green_color, blue_color;
void FractalLogic();
void DrawFractal(cv::Mat &frame, bool neg=false);
}
#endif

View File

@@ -1,6 +1,8 @@
#include"qtheaders.h" #include"qtheaders.h"
#include "main_window.h" #include "main_window.h"
bool blend_set = false;
cv::Mat blend_image;
int main(int argc, char **argv) { int main(int argc, char **argv) {
QApplication app(argc, argv); QApplication app(argc, argv);

View File

@@ -1,5 +1,13 @@
#include "main_window.h" #include "main_window.h"
void custom_filter(cv::Mat &frame) {
}
void ac::plugin(cv::Mat &frame) {
}
AC_MainWindow::AC_MainWindow(QWidget *parent) : QMainWindow(parent) { AC_MainWindow::AC_MainWindow(QWidget *parent) : QMainWindow(parent) {

View File

@@ -4,6 +4,8 @@
#include<QApplication> #include<QApplication>
#include<QMainWindow> #include<QMainWindow>
#include<QDialog> #include<QDialog>
#include"ac.h"
#include"fractal.h"