summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2015-01-07 22:04:38 +0100
committerFlorian Jung <flo@windfisch.org>2015-01-07 22:04:38 +0100
commit3ea75fb804f99fed73cab266da03bb7d04dc826b (patch)
tree52026cb47e98deed7e15ed3f6262240fb9e49175
parent5772af4eed51e45de06b1329ed3be3158c4c2ccf (diff)
very basic client2
-rw-r--r--client2.cpp128
1 files changed, 4 insertions, 124 deletions
diff --git a/client2.cpp b/client2.cpp
index 1066739..1671ae0 100644
--- a/client2.cpp
+++ b/client2.cpp
@@ -17,135 +17,15 @@ int main(int argc, const char** argv)
{
DroneConnection drone(SOCKETPATH);
- printf("GO!!\n");
- time_t t = time(NULL);
- int nframes=0;
-
- char key;
- bool go=true;
- bool new_vals=true;
-
- #define N_VALUES 11
- int curr_val=0;
- float val[N_VALUES] =// { 1.300000, 0.050000, 0.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, -0.004000, 0.014000, 0.026000};
- { 0.500000, 0.050000, 0.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.006000, 0.024000, 0.026000};
- // {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0,.0};
- float step[N_VALUES] = {0.05,0.05,0.0,0.0,10,10,10,10,0.002,0.002,0.002};
- Mat map1A[3], map2A[3], map1B[3], map2B[3];
-
- float &k1=val[0], &k2=val[1], &p1=val[2], &p2=val[3];
- float &x1=val[4], &y1=val[5], &x2=val[6], &y2=val[7];
- float* col=&val[8];
- float c1,c2,c1_,c2_;
-
- //k1=0.5;
- //k2=0.1;
- //p1=0.0;
- //p2=0.0;
- c1=1280/2;
- c2=768/2;
- c1_=960/2;
- c2_=1080/2;
- //x1=x2=y1=y2=0.0;
- //col[0]=-0.01;
- //col[1]=0.0;
- //col[2]=0.01;
Mat dingens;
- while ((key = waitKey(1)) != 'x')
+ while (waitKey(1) != 'x')
{
- switch (key)
- {
- case 'g': go=!go; break;
- case 'w': val[curr_val]+=step[curr_val]; new_vals=true; break;
- case 's': val[curr_val]-=step[curr_val]; new_vals=true; break;
- case 'a': curr_val = (curr_val-1+N_VALUES) % N_VALUES; break;
- case 'd': curr_val = (curr_val+1) % N_VALUES; break;
- }
-
- if (new_vals)
- {
- printf("val = { %f", val[0]);
- for (int i=1; i< N_VALUES; i++)
- printf(", %f", val[i]);
- printf("}\n");
-
-
- Mat camera_matrix = Mat::eye(3,3,CV_32FC1);
- camera_matrix.at<float>(0,0)=1000;
- camera_matrix.at<float>(1,1)=1000;
- camera_matrix.at<float>(0,2)=c1+x1+x2;
- camera_matrix.at<float>(1,2)=c2+y1+y2;
- for (int i=0; i<3; i++)
- {
- Mat camera_matrix_clone = camera_matrix.clone();
- camera_matrix_clone.at<float>(0,0)*=(1.+col[i]);
- camera_matrix_clone.at<float>(1,1)*=(1.+col[i]);
- camera_matrix_clone.at<float>(0,2)=c1_+x1;
- camera_matrix_clone.at<float>(1,2)=c2_+y1;
- initUndistortRectifyMap(camera_matrix, Vec4f(k1,k2,p1,p2), Mat::eye(3,3,CV_32F), camera_matrix_clone, Size(960,1080), CV_32FC1, map1A[i], map2A[i]);
- }
-
- camera_matrix.at<float>(0,0)=1000;
- camera_matrix.at<float>(1,1)=1000;
- camera_matrix.at<float>(0,2)=c1-x1-x2;
- camera_matrix.at<float>(1,2)=c2+y1+y2;
- for (int i=0; i<3; i++)
- {
- Mat camera_matrix_clone = camera_matrix.clone();
- camera_matrix_clone.at<float>(0,0)*=(1.+col[i]);
- camera_matrix_clone.at<float>(1,1)*=(1.+col[i]);
- camera_matrix_clone.at<float>(0,2)=c1_-x1;
- camera_matrix_clone.at<float>(1,2)=c2_+y1;
- initUndistortRectifyMap(camera_matrix, Vec4f(k1,k2,p1,p2), Mat::eye(3,3,CV_32F), camera_matrix_clone, Size(960,1080), CV_32FC1, map1B[i], map2B[i]);
- }
-
- new_vals=false;
- }
-
- if (go) {
- navdata_t navdata;
- drone.get(dingens, &navdata);
- }
-
- for (int i=0; i< 1280; i+=50)
- dingens.col(i)=Vec3b(255,192,128);
- for (int i=0; i< 768; i+=50)
- dingens.row(i)=Vec3b(255,192,128);
-
-
- Mat lefteye, righteye, zeuch2;
- //remap(dingens, zeuch, map1, map2, INTER_LINEAR);
-
- Mat colors[3];
- Mat colors2[3];
-
- split(dingens, colors);
-
- for (int i=0; i<3; i++)
- remap(colors[i], colors2[i], map1A[i], map2A[i], INTER_LINEAR);
-
- merge(colors2, 3, lefteye);
-
- split(dingens, colors);
-
- for (int i=0; i<3; i++)
- remap(colors[i], colors2[i], map1B[i], map2B[i], INTER_LINEAR);
-
- merge(colors2, 3, righteye);
- hconcat(lefteye, righteye ,zeuch2);
-
- imshow("dingens",zeuch2);
+ navdata_t navdata;
+ drone.get(dingens, &navdata);
- time_t tmp = time(NULL);
- if (tmp!=t)
- {
- printf("%i FPS\n", (int)(nframes / (tmp-t)));
- nframes=0;
- t=tmp;
- }
- nframes++;
+ imshow("dingens",dingens);
}
return 0;