fork download
  1. #include <opencv2\opencv.hpp>
  2. #include <iostream>
  3. using namespace std;
  4. void main(int argc, char **argv)
  5. {
  6. IplImage *colorImage = cvLoadImage("lena.jpg", 1);
  7. //IplImage *grayImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
  8. IplImage *blueImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
  9. IplImage *greenImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
  10. IplImage *redImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
  11.  
  12. for (int h=0; h<colorImage->height; h++)
  13. {
  14. for (int w=0; w<colorImage->width; w++) //G,B,R三通道数据交错存放
  15. {
  16. uchar *datacolor = (uchar *)(colorImage->imageData + h * colorImage->widthStep);
  17. uchar *datablue = (uchar *)(blueImage->imageData + h * blueImage->widthStep);
  18. uchar *datagreen = (uchar *)(greenImage->imageData + h * greenImage->widthStep);
  19. uchar *datared = (uchar *)(redImage->imageData + h * redImage->widthStep);
  20.  
  21.  
  22. //uchar b = ((uchar*)(colorImage->imageData + h*colorImage->widthStep))[w*3];
  23. //uchar g =((uchar*)(colorImage->imageData + h*colorImage->widthStep))[w*3+1];
  24. //uchar r =((uchar*)(colorImage->imageData + h*colorImage->widthStep))[w*3+2];
  25.  
  26. datablue[w] = datacolor[w * 3];
  27. datagreen[w] = datacolor[w * 3 + 1];
  28. datared[w] = datacolor[w * 3 + 2];
  29. //((uchar*)(grayImage->imageData + h*grayImage->widthStep))[w] = (uchar)((r+g+b)/3);
  30. }
  31. }
  32.  
  33. cvShowImage("blue", blueImage);
  34. cvShowImage("green", greenImage);
  35. cvShowImage("red", redImage);
  36.  
  37. cvWaitKey(0);
  38. cvDestroyWindow("blue");
  39. cvDestroyWindow("green");
  40. cvDestroyWindow("red");
  41. }
  42.  
  43.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#include <opencv2\opencv.hpp>
^
Main.java:1: error: class, interface, or enum expected
#include <opencv2\opencv.hpp>
         ^
Main.java:1: error: illegal character: '\'
#include <opencv2\opencv.hpp>
                 ^
Main.java:2: error: illegal character: '#'
#include <iostream>
^
Main.java:4: error: class, interface, or enum expected
void main(int argc, char **argv)
^
Main.java:8: error: class, interface, or enum expected
	IplImage *blueImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
	^
Main.java:9: error: class, interface, or enum expected
	IplImage *greenImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
	^
Main.java:10: error: class, interface, or enum expected
	IplImage *redImage = cvCreateImage(cvSize(colorImage->width, colorImage->height), IPL_DEPTH_8U, 1);
	^
Main.java:12: error: class, interface, or enum expected
	for (int h=0; h<colorImage->height; h++)
	^
Main.java:12: error: class, interface, or enum expected
	for (int h=0; h<colorImage->height; h++)
	              ^
Main.java:12: error: class, interface, or enum expected
	for (int h=0; h<colorImage->height; h++)
	                                    ^
Main.java:14: error: class, interface, or enum expected
		for (int w=0; w<colorImage->width; w++) //G,B,R?????????
		              ^
Main.java:14: error: class, interface, or enum expected
		for (int w=0; w<colorImage->width; w++) //G,B,R?????????
		                                   ^
Main.java:17: error: class, interface, or enum expected
			uchar *datablue = (uchar *)(blueImage->imageData + h * blueImage->widthStep);
			^
Main.java:18: error: class, interface, or enum expected
			uchar *datagreen = (uchar *)(greenImage->imageData + h * greenImage->widthStep);
			^
Main.java:19: error: class, interface, or enum expected
			uchar *datared = (uchar *)(redImage->imageData + h * redImage->widthStep);
			^
Main.java:26: error: class, interface, or enum expected
			datablue[w] = datacolor[w * 3];
			^
Main.java:27: error: class, interface, or enum expected
			datagreen[w] = datacolor[w * 3 + 1];
			^
Main.java:28: error: class, interface, or enum expected
			datared[w] = datacolor[w * 3 + 2];
			^
Main.java:30: error: class, interface, or enum expected
		}   
		^
Main.java:34: error: class, interface, or enum expected
	cvShowImage("green", greenImage);
	^
Main.java:35: error: class, interface, or enum expected
	cvShowImage("red", redImage);
	^
Main.java:37: error: class, interface, or enum expected
	cvWaitKey(0);
	^
Main.java:38: error: class, interface, or enum expected
	cvDestroyWindow("blue");
	^
Main.java:39: error: class, interface, or enum expected
	cvDestroyWindow("green");
	^
Main.java:40: error: class, interface, or enum expected
	cvDestroyWindow("red");
	^
Main.java:41: error: class, interface, or enum expected
}
^
27 errors
stdout
Standard output is empty