以下是一个使用Qt C++编写的程序示例,用于批量增加本地jpg图像的亮度:
#include <QCoreApplication>
#include <QImage>
#include <QDir>
void adjustBrightness(const QString& filePath, int delta)
{
QImage image(filePath);
if (image.isNull()) {
qDebug() << "Failed to load image: " << filePath;
return;
}
// 调整亮度
for (int y = 0; y < image.height(); ++y) {
QRgb* scanLine = reinterpret_cast<QRgb*>(image.scanLine(y));
for (int x = 0; x < image.width(); ++x) {
QColor color(scanLine[x]);
color = color.lighter(delta); // 根据delta调整亮度
scanLine[x] = color.rgb();
}
}
// 保存修改后的图像
QString outputPath = QCoreApplication::applicationDirPath() + "/output/" + QFileInfo(filePath).fileName();
if (!image.save(outputPath)) {
qDebug() << "Failed to save image: " << outputPath;
return;
}
qDebug() << "Processed image saved to: " << outputPath;
}
void processImages(const QString& directory, int brightnessDelta)
{
QDir dir(directory);
QStringList filters;
filters << "*.jpg"; // 只处理jpg格式图片
dir.setNameFilters(filters);
QFileInfoList fileList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
foreach (const QFileInfo &fileInfo, fileList) {
adjustBrightness(fileInfo.filePath(), brightnessDelta);
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString directoryPath = "your_directory_path"; // 输入你的图片目录路径
int brightnessDelta = 50; // 调整亮度的增量值,可以根据需要修改
processImages(directoryPath, brightnessDelta);
return a.exec();
}
请将上述代码中的your_directory_path 替换为你实际存放图片的目录路径。该程序会遍历指定目录下的所有jpg格式图像,并对每张图像进行亮度调整,并保存到output文件夹下。调整亮度的增量值可以通过brightnessDelta 参数进行设置。<br/><br/><br/><p style="color:#CCCCCC;font-size:12px;">内容由零声教学AI助手提供,问题来源于学员提问</p> |