Opencv读取各种格式图片,在TBitmap上面重绘

    //opencv读取图片
    cv::Mat image;
    //const char *fileName = "HeadImage-UI/Photo-001.bmp";
    const char *fileName = "HeadImage-UI/53d253192be47412.jpg!200x200.jpg";

    image = cv::imread(fileName);

    //bitmap冲回image
    Graphics::TBitmap *bitmap = new Graphics::TBitmap;
    bitmap->PixelFormat = pf24bit;
    bitmap->Height = image.rows;
    bitmap->Width = image.cols;
    for(int y=0;y<bitmap->Height;y++)
    {
        uchar *ptr = image.ptr<uchar>(y);
        Byte *p=(Byte*)bitmap->ScanLine[y];
        for(int x=0;x<bitmap->Width;x++)
        {
            p[0] = ptr[0];
            p[1] = ptr[1];
            p[2] = ptr[2];
            p+=3;
            ptr+=3;
        }
    }
    Image1->Picture->Bitmap = bitmap;
时间: 2024-08-07 17:00:13

Opencv读取各种格式图片,在TBitmap上面重绘的相关文章

tensorflow读取jpg格式图片报错 ValueError: Only know how to handle extensions: [&#39;png&#39;]; with Pillow installed matplotlib can handle more images

当运行mpimg.imread("img.jpg")时,spyder 出现如下错误: ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images 解决办法就是  安装pillow即可 我是在anaconde里安装的很简单,执行如下步骤即可: tensorflow读取jpg格式图片报错 ValueError: Only kn

OpenGL——OpenCV读取图片进行纹理贴图

使用OpenCV读取图片代码如下 img = imread(m_fileName); if (img.empty()) { fprintf(stderr, "Can not load image %s\n", m_fileName); return -1; } //设置长宽 int width = img.cols; int height = img.rows; int channel = img.channels(); printf(" depth %d\n",

OpenCV读取视频和图像序列

在使用OpenCV时候,我们首先会做的是获取待处理的图像,这个图像可能来源于已存储的视频文件.也可能来源于实时的摄像头画面.或是某个文件夹下的一系列图片.或许你会觉得,这都是小菜一碟,因为我们学习OpenCV的第一步一般是学习如何加载和显示一幅图片.对于打开摄像头或是读取视频的程序,网上也是一抓一大把.如果你是初学者,不妨看一下我下面的总结,或许有你不曾注意到的. 对于图像或视频的加载.显示.窗口设置.工具条.图像合并为视频.视频分割成图像.打开视频或摄像头等操作的定义是放在OpenCV的hig

【Android】图片资源的访问与网格式图片浏览器

使用Android的GridView与BaseAdapter能够轻易完成网格式图片浏览器.下面用一个例子还说明,同时说明安卓是如何访问图片资源.其实所谓的图片资源,就是你拷贝到安卓工程的图片.相当于你把几张图片放到网页的站点文件夹,之后用<img>标签引用就这么简单. 如下图,在安卓工程中有8张我自己拷贝进去的图片,与自带的ic_launcher.png,共9张图片. 下面完成一个网格式图片浏览器,一开始先读取这9张图片,点击任何一张查看大图,可以按右上角的菜单返回,也可以按返回键返回. 一.

利用android开源库android-gif-drawable加载gif格式图片

在android项目中,最学用的是png格式的图片,或者用jpeg的图片.那我们要用动画类型图片gif格式图片应该怎么办呢?我们可以使用android-gif-drawable框架来实现gif图片加载,下面直接贴下我在项目中用到的工具类: public class GifLoader { /**保存图片引用的Map*/ public static Map<ImageView, String> mImageViewMap = Collections.synchronizedMap(new Has

mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换等

mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换(上) MP3文件格式(二)---ID3v2 图:ID3V1标签结构 图:ID3V2标签结构 图:ID3V2头结构 图:ID3V2帧头结构 1.帧标识  用四个字符标识一个帧,说明一个帧的内容含义,常用的对照如下:  TIT2=标题 表示内容为这首歌的标题,下同  TPE1=作者  TALB=专集  TRCK=音轨 格式:N/M  其中N为专集中的第N首,M为专集中共M首,N和M为AS

【探索OpenCV】OpenCV读取视频文件

OpenCV读取视频文件之前需要做是事情: 1.下载视频编码解码器 推荐XviD,下载链接:http://pan.baidu.com/s/1jGjE2ii 密码:xrni 2.用格式工厂将视频文件转成标准格式,如*.avi /*----------------------------------------OpenCV视频读取代码---------------------------------------------*/ CString Filepath; CFileDialog dlg(TR

[实例]ROS使用OpenCV读取图像并发布图像消息在rviz中显示

思路: (1)使用opencv读取本地图像 (2)调用cv_bridge::CvImage().toImageMsg()将本地图像发送给rviz显示 一.使用opencv读取本地图像并发布图像消息 (1)利用catkin新建一个工程叫rosopencv,并进行初始化 mkdir -p rosopencv/src cd rosopencv/src catkin_create_pkg rosopencv sensor_msgs cv_bridge roscpp std_msgs image_tran

用nginx-gridFS读取MongoDB的图片

一.安装mongodb 创建/etc/yum.repos.d/mongodb.repo文件,配置文件内容如下: [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 安装mongodb server及mongodb shell. $ sudo yum install mongodb-org-server-2.