修正了原程序中的文字错误。
在这个简短的教程中,我会展示一个压缩图像的简单步骤。这个操作用处很大,比如获取网络摄像头的图像,这些图像要发送到另一台设备上必须经过压缩。
这个程序充分利用了我们之前看到的两个教程,如果你还没有看过,我建议你先阅读之前的教程,它分为第一部分和第二部分。
与先前的教程不同,这次我们要显示两个widget:一个显示原始图像,另一个显示压缩过的图像。这使得我们能直观的评估压缩质量。
压缩质量可通过一个滑块调节:0代表最低质量、最高压缩率,100代表最高质量、最低压缩率。
你还可以选择JPEG或PNG两种压缩格式,你会看到JPEG图像比PNG的图像质量要低,但是体积更小。
将之前的教程作为参考,我们要做的修改只有一个函数:TimerEvent ( QTimerEvent * event) :
void MainWindow::timerEvent(QTimerEvent *event)
{
Q_UNUSED(event);
cv::Mat raw;
mCapture >> raw;
// >>>>> Params from widgets
QString comprType;
int quality = ui->horizontalSlider_quality->value();
int compr;
if( ui->radioButton_jpeg->isChecked() )
{
comprType = ".jpg&