diff options
| -rw-r--r-- | client2.c | 39 | 
1 files changed, 37 insertions, 2 deletions
| @@ -44,10 +44,29 @@ int main(int argc, const char** argv)  	if (connect(sockfd, (struct sockaddr*) &my_sockaddr, sockaddrlen) == -1)  		die("connect"); -	 + +	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)=800; +	camera_matrix.at<float>(1,2)=300; +	Mat map1[3], map2[3]; +	for  (int i=0; i<3; i++) +	{ +		Mat camera_matrix_clone = camera_matrix.clone(); +		camera_matrix_clone.at<float>(0,0)*=(1.+i/100.); +		camera_matrix_clone.at<float>(1,1)*=(1.+i/100.); +		initUndistortRectifyMap(camera_matrix, Vec4f(0.5,0.1,0,0), Mat::eye(3,3,CV_32F), camera_matrix_clone, Size(1600,600), CV_32FC1, map1[i], map2[i]); +	} +	printf("GO!!\n");  	time_t t = time(NULL);  	int nframes=0; +	write(sockfd,"get\n",4); +	read_completely(sockfd, buffer, 4); +	int framelen = ((buffer[0]*256+buffer[1])*256+buffer[2])*256+buffer[3]; +	if (framelen > sizeof(buffer)) suicide("buffer too small"); +	read_completely(sockfd, buffer, framelen);  	while (waitKey(1) != 'x')  	{  		write(sockfd,"get\n",4); @@ -58,7 +77,23 @@ int main(int argc, const char** argv)  		//Mat dingens=Mat::eye(100,100,CV_8UC1) * 244;  		Mat dingens(600,1600,CV_8UC3, buffer); -		imshow("dingens",dingens); +		for (int i=0; i< 1600; i+=50) +			dingens.col(i)=Vec3b(255,192,128); +		for (int i=0; i< 600; i+=50) +			dingens.row(i)=Vec3b(255,192,128); +		Mat zeuch; +		//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], map1[i], map2[i], INTER_LINEAR); + +		merge(colors2, 3, zeuch); + +		imshow("dingens",zeuch);  		time_t tmp = time(NULL);  		if (tmp!=t) | 
