我正在编写一个opencv程序,更改图像颜色并使用用户给出的名称保存图像,该名称存储在某个变量中。我想使用 popen 发送该文件进行打印。
#include <stdio.h>
#include "cv.h"
#include "highgui.h"
int main (int argc, char ** argv)
{
int p[3];
p[0] = CV_IMWRITE_JPEG_QUALITY;
p[1] = 10;
p[2] = 0;
char name[10];
IplImage* in = cvLoadImage("imagenoise1.jpg",3);
IplImage* gray = cvCreateImage( cvSize(in->width, in->height),IPL_DEPTH_8U, 1 );
cvCvtColor( in, gray, CV_BGR2GRAY );
cvNamedWindow("in", CV_WINDOW_AUTOSIZE );
cvNamedWindow("gray", CV_WINDOW_AUTOSIZE );
cvShowImage("in",in);
cvShowImage("gray",gray);
printf("Con que nombre desea guardar la imagen en escala de grises ( no mas de 9 caracteres ):\n");
scanf("%s", name);
cvSaveImage( name, gray, p );
FILE *pipe = popen("lp name","w");
close(pipe);
cvWaitKey(0);
cvDestroyWindow( "in" );
cvDestroyWindow( "gray" );
cvReleaseImage( &in );
cvReleaseImage( &gray );
return 0;
}
所以我试图发送我之前给出的特定名称,但似乎没有任何效果,知道吗?,我想我错过了一些东西,因为发送了一个不存在的文件。