mirror of
https://github.com/lostjared/Acid.Cam.v2.Qt.git
synced 2025-12-17 20:30:00 +01:00
getting project setup
This commit is contained in:
13
src/Acid.Cam.v2.Linux.Qt.pro
Normal file
13
src/Acid.Cam.v2.Linux.Qt.pro
Normal 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
|
||||||
@@ -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
|
|
||||||
4
src/ac.h
4
src/ac.h
@@ -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
119
src/fractal.cpp
Normal 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
24
src/fractal.h
Normal 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
|
||||||
|
|
||||||
@@ -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);
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
#include<QApplication>
|
#include<QApplication>
|
||||||
#include<QMainWindow>
|
#include<QMainWindow>
|
||||||
#include<QDialog>
|
#include<QDialog>
|
||||||
|
#include"ac.h"
|
||||||
|
#include"fractal.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user