利用OpenCV显示一幅图像

本文介绍如何使用OpenCV1.0和VC6.0配置环境并展示图像。通过示例代码展示了如何加载图像、创建显示窗口、显示图像并处理按键事件。
安装好OpenCV1.0和配置好VC6.0后


配置请参考http://wiki.opencv.org.cn/index.php/VC6下安装与配置OpenCV1.0


建立工程,输入以下代码


C语言版本


#include "cv.h"
#include "highgui.h"
int main( int argc, char** argv )
{
    IplImage* pImg; //声明IplImage指针
    if( argc == 2 &&  (pImg = cvLoadImage( argv[1], 1)) != 0 )    //载入图像
    {
        cvNamedWindow( "Image", 1 );//创建窗口
        cvShowImage( "Image", pImg );//显示图像
        cvWaitKey(0); //等待按键
        cvDestroyWindow( "Image" );//销毁窗口
        cvReleaseImage( &pImg ); //释放图像
        return 0;
    }
 
    return -1;
}


编译,运行,在开始->运行->cmd  ,进入debug目录,注意,图片也放在此目录下,在dos下输入  text(假设生产的exe是text.exe)  1.jpg




按回车,看到效果了吧
### 使用 OpenCV 读取彩色图像并获取其基本信息 在 Python 中,可以利用 OpenCV 库来高效地读取彩色图像,并进一步获取图像的尺寸、通道数和像素值。以下是具体方法: #### 1. 导入库 首先需要导入 `cv2` 和其他可能用到的库(如 NumPy),以便后续操作。 ```python import cv2 import numpy as np ``` #### 2. 读取彩色图像 使用 `cv2.imread()` 函数可以从文件路径加载一张图片。默认情况下,此函数将以 BGR 格式读取彩色图像[^1]。 ```python image_path = 'example.jpg' # 替换为实际图像路径 img = cv2.imread(image_path) if img is None: print("无法读取图像,请检查路径是否正确") else: print("成功读取图像") ``` #### 3. 获取图像尺寸 可以通过 `.shape` 属性获得图像的高度、宽度和通道数。返回的结果是一个元组 `(height, width, channels)`,其中第三个参数仅适用于多通道图像(如彩色图像)。如果图像是灰度图像,则只有两个维度 (高度和宽度)[^4]。 ```python dimensions = img.shape print(f"图像尺寸: 高度={dimensions[0]} 像素, 宽度={dimensions[1]} 像素") channels = dimensions[2] if len(dimensions) == 3 else 1 print(f"通道数量: {channels}") ``` #### 4. 访问单个像素值 要访问某个特定位置的像素值,可以直接通过数组索引来完成。例如,`img[y,x]` 返回位于第 y 行 x 列处的颜色向量;如果是三通道图像,则返回 `[B,G,R]` 形式的列表[^4]。 ```python pixel_value_bgr = img[100, 150] # 获取(100,150)坐标的BGR值 print(f"(100,150) 处的BGR值: {pixel_value_bgr}") blue_channel = pixel_value_bgr[0] green_channel = pixel_value_bgr[1] red_channel = pixel_value_bgr[2] print(f"B通道值: {blue_channel}, G通道值: {green_channel}, R通道值: {red_channel}") ``` 需要注意的是,在 OpenCV 中,默认采用 BGR 色彩空间而非标准 RGB 排序[^3]。 #### 5. 修改指定像素值 同样也可以修改某一点的像素值,只需重新赋值即可。 ```python img[100, 150] = [255, 0, 0] # 将(100,150)设置成纯蓝色(B=255,G=0,R=0) updated_pixel = img[100, 150] print(f"更新后的(100,150)像素值: {updated_pixel}") ``` 上述过程展示了如何基于 OpenCV 实现对彩色图像的基本操作,包括但不限于读取、查询大小信息以及调整个别像素点的内容。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值