c语言编写用opencv将路径/root/photo/compressphoto中的.jpg图片解压缩到路径/root/photo/decompressphoto中,给出相应程序和对应的Makefile文件,注意opencv文件处于/root/opencv-4.5.1文件夹中。并说明效果
时间: 2023-05-27 16:07:03 浏览: 100
程序代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
char cmd[100];
sprintf(cmd, "mkdir -p /root/photo/decompressphoto"); // 创建解压缩后的图片目录
system(cmd);
DIR *dir;
struct dirent *ptr;
dir = opendir("/root/photo/compressphoto"); // 打开压缩图片目录
while ((ptr = readdir(dir)) != NULL) {
if (ptr->d_name[0] == '.') { // 忽略"."和".."目录
continue;
}
char src_path[100], dst_path[100];
sprintf(src_path, "/root/photo/compressphoto/%s", ptr->d_name); // 压缩图片的路径
sprintf(dst_path, "/root/photo/decompressphoto/%s", ptr->d_name); // 解压缩图片的路径
Mat img = imread(src_path, IMREAD_UNCHANGED); // 读取压缩图片
imwrite(dst_path, img); // 将解压缩后的图片写入目标路径
}
closedir(dir);
return 0;
}
```
Makefile文件如下:
```
CC = g++
LIBS = `pkg-config --libs opencv4`
INCLUDES = -I/root/opencv-4.5.1/include
all: decompress_photo
decompress_photo: decompress_photo.cpp
$(CC) $(INCLUDES) -o $@ $^ $(LIBS)
clean:
rm -rf decompress_photo
```
在命令行中执行"make"命令编译程序,然后执行"./decompress_photo"命令运行程序即可。
运行效果:将路径/root/photo/compressphoto中的所有.jpg图片解压缩到路径/root/photo/decompressphoto中。
阅读全文