嵌入式学习小组
直播中

张丽

8年用户 1581经验值
私信 关注

如何编写一个打开图片进行特效显示?

如何在ubuntu下使用GDB调试?
如何编写一个打开图片进行特效显示?

回帖(1)

王岩

2021-12-24 16:50:47
在ubuntu下使用GDB调试

下面的代码实现对一个整型数的反转功能,比如输入123,则
输出321。 但输入100时,程序的输出结果却不正确,请找出问题。
#include void ShowRevertNum(int iNum){   while(iNum>10)   {       printf("%d",iNum % 10);       iNum = iNum /10;   }   printf("%dn",iNum);}int main(void){   int iNum;   printf("Please input a number:");   scanf("%d",&iNum);   printf("After revert:");   ShowRevertNum(iNum);} 编译运行

gdb test1 对目标文件进行gdb调试

编写一个打开图片进行特效显示的代码

放一张图片在home路径下
创建一个文件夹,并在文件夹内创建"test1.cpp"文件,文件中写入代码

#include
void ShowRevertNum(int iNum)
{
while (iNum > 10)
{
printf("%d", iNum % 10);
iNum = iNum / 10;
}
printf("%dn", iNum);
}
int main(void)
{
int iNum;
printf("Please input a number :");
scanf("%d", &iNum);
printf("After revert : ");
ShowRevertNum(iNum);
}
编译并运行


原图与运行后的图片
原图
经过处理后的图片
练习使用opencv库编写打开摄像头压缩视频的程序

一个打开摄像头显示处理视频的程序代码

#include
#include
using namespace cv;


int main()
{
    //像素操作
    Mat src,dst;
    src = imread("/home/helloworld/lena.jpeg");
    if(src.empty())
    {
        printf("can not load image n");
        return 0;
    }
    namedWindow("input");//创建窗口
    imshow("input",src);//显示图片
    cvtColor(src, dst, COLOR_BGR2GRAY);//将图片转为灰度图
    namedWindow("output");
    imshow("output",dst);
    waitKey();
    return 0;
}
gcc  test1.cpp  -o  test1  `pkg-config --cflags --libs opencv`
在第七行代码中
VideoCapture capture(0); videocapture属于videoio子模块程序运行的时候会检查是否为空,如果为空(可以用0代替)默认打开摄像头,如果是路径则默认打开视频源。
Mat是一个类。由两部分数据组成:矩阵头(包括矩阵尺寸、存储方法、存储地址等信息)和一个指向所有像素值的矩阵(根据所选存储方法不同,矩阵可以是不同的维数)的指针。
waitKey延时越长 fps越小 出现跳帧 摄像头显示变卡,故要有一定的延时。
示例代码会在while循环中一直运行,你如果试图用鼠标关闭图像显示窗口,会发现始终关不掉。需要用键盘Ctrl+C 强制中断程序,非常不友好。可以在"while"中加入一个"break"
举报

更多回帖

发帖
×
20
完善资料,
赚取积分