You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中用C++调用OpenCV实现imread/imshow?

在Google Colab中运行C++版OpenCV imread/imshow的正确示例

你遇到的两个错误原因及解决方法如下:

  • 头文件路径错误:代码中硬编码的绝对路径包含无效字符…,且Colab的OpenCV头文件已加入系统默认搜索路径,无需手动指定绝对路径
  • 链接语法错误:#pragma comment(lib)是Visual Studio专属的Windows链接方式,Colab基于Linux,需通过编译参数链接OpenCV库
  • GUI限制:Colab无本地图形界面,cv::imshow和cv::waitKey无法直接生效,需借助Python工具显示图像

以下是可从头运行的完整流程:

步骤1:上传图像到Colab

确保目标图像(如remastered-lena-512x512.tiff)已上传到Colab当前工作目录(通过左侧文件面板上传即可)。

步骤2:编写C++读取图像代码

创建opencv_read.cpp文件,代码如下:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    const char* img_path = "remastered-lena-512x512.tiff";
    Mat img = imread(img_path, IMREAD_COLOR);

    if (img.empty()) {
        cerr << "图像读取失败,请检查文件路径!" << endl;
        return -1;
    }

    cout << "图像尺寸:" << img.cols << "×" << img.rows << endl;
    // 保存为PNG格式,方便后续Python显示
    imwrite("lena_display.png", img);

    return 0;
}

步骤3:编译C++代码

在Colab代码单元格中执行编译命令,自动获取OpenCV的编译和链接参数:

!g++ opencv_read.cpp -o opencv_read `pkg-config --cflags --libs opencv4`

步骤4:运行编译后的程序

!./opencv_read

运行成功后会输出图像尺寸,并生成lena_display.png文件。

步骤5:用Python显示图像

利用matplotlib显示生成的图像:

import matplotlib.pyplot as plt
import cv2

# 读取图像并转换为RGB格式(OpenCV默认BGR)
img = cv2.imread("lena_display.png")
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.figure(figsize=(8, 8))
plt.imshow(img_rgb)
plt.axis('off')
plt.show()

内容的提问来源于stack exchange,提问作者msj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 19:42:29