cximage库切割crop图片

深入掌握C++图像处理库cximage的示例程序 本文还有配套的精品资源,点击获取 简介:Cximage是一个功能丰富的开源C++图像处理库,支持多种图像格式如BMP、JPEG、PNG、GIF等。这个“cximage的例子程序”资源对于初学者和开发者来说是一个宝贵的实践工具,通过实例教学使用户快速理解并掌握cximage的使用方法,以提升图像处理技能。该资源通过示例代码展示了加载、显示、颜色转换、滤波、缩放、旋转和裁剪等关... 阅读详情

在我的任务中,需要对cximage中的图片按照固定方格大小进行切分,找到crop函数,代码实现如下:

    CString strname;
    RECT r;
    int w = 200;
    int h = 250;

    r.left = 10;
    r.top = 10;

    CxImage orgimage(buf, size, CXIMAGE_FORMAT_BMP);   // 定义一个CxImage对象   
    CxImage image;
   
    for(int i = 0; i < 2; ++ i)
    {
        r.left = 10;
       
        for(int j = 0; j < 2; ++ j)
        {
            strname.Format(L"crop%d%d.bmp", i, j);
            r.left =10 + j * w;
            r.top = 10 + i * h;
            r.right = r.left + w;
            r.bottom = r.top + h;


            orgimage.Crop(r, &image);
            ...

     ...

实测后发现确实将一个图片切割成4张小图片,用画图工具,将4副图片能合并成原来的图片。

这里注意的是,orgimage.Crop(r, &image);其中image对象只创建一个,避免多次重复创建切割图片的cximage对象。另外一个接口是image=orgimage.Crop(r),跟进代码中发现这个接口里直接修改了当前的cximage对象,这样的话,就需要每次对orgimage构造一个新的image对象,这样的话,会造成效率低(个人感觉,:P)。

 

第二个任务是:对每次生成的图片需要过滤,即图片仅仅是背景色的,不需要重新切割并生成文件了。

做个重载函数crop,加入crback颜色值参数,仅仅对24位色图片处理,部分处理代码

            int nEqualNum = 0;
            int num = 0;
            for(long y=starty; y<endy; y++){
                info.nProgress = (long)(100*(y-starty)/(endy-starty)); //<Anatoly Ivasyuk>

                num = linelen / 3;
                for(int k = 0; k < num; ++ k)
                {
                    // 相同,则累加个数
                    if(memcmp(pSrc + k * 3, backColor, 3) == 0){
                        ++ nEqualNum;
                    }
                }
                               
                memcpy(pDest,pSrc,linelen);
                pDest+=tmp.info.dwEffWidth;
                pSrc+=info.dwEffWidth;
            }

            // 如果相同点个数大于99.9%,则返回不进行处理
            double rato = (double(nEqualNum) / (double(endy - starty) * num)) * 100.0;
            if(rato > 99.99)
            {
                return false;
            }

 

这里对背景色占总像素比例判断,认为如果大于99.99的话,则认为基本就是纯背景的图片了。

使用CxImage实现图像格式转换,含代码截图 参考网上大神指点,整理使用CxImage库实现图像格式转换的详细步骤,及遇到的问题解决方法。 立即下载

相关推荐

电路保护设计实战:保险丝选型、I²t计算与多级协同方案

电路保护是电子系统可靠性的基石,其核心原理是在发生过流或过压等异常情况时,及时切断故障回路,防止能量持续灌入导致元器件损坏甚至安全事故。从技术价值看,优秀的保护设计能显著提升产品寿命、安全性和市场口碑,尤其在快充、电动汽车等高功率密度应用中,保护器件已成为不可或缺的安全屏障。在众多保护器件中,保险丝作为最基础的过流保护元件,其正确选型与应用直接关系到保护效果。本文聚焦于保险丝选型的实战细节,深入解析了I²t(电流平方时间积)这一关键参数,它定义了熔断所需的能量阈值,是匹配被保护半导体器件耐受能力、实现有效保

weixin_42662171的博客 308

最好用图像处理库CxImage入门

CxImage是一款免费的、开源的、功能强大的图形处理库。跨平台,支持windows、linux等;支持BMP、GIF、ICO、TGA、JPEG、PCX、PNG、TIFF、MNG、RAS等多种图像格式;支持格式转换、图像处理、几何变换等;最重要的是使用非常简单。

jmppok的专栏 1万+

C300 | 5680t | 新格林| AN5516 | 远程ONU升级指导

ONU的远程管理升级 1、ZTE C300 OLT : 1.1 环境拓扑: PC1(filezilla server)------(uplink_default-vlanID)OLT---------ONU | | mng1 1.2 配置部署: 1):PC1(filezilla server): IP:192.168.88.252 255.255.255.0 配置FTP-Server的用户名:gp...

Shelly的博客 3770

Cximage 切图部分代码mark

void X::LoadImage( CString fileName )//读图 { bool xResult; x_Image.Destroy(); xResult = x_Image.Load(fileName,CXIMAGE_FORMAT_JPG); if (!xResult){ AfxMessageBox("哥!加载失败了!"); return; } } void X:

硕嘉的Blog 901

台式机ubuntu系统屏幕无法调节的问题(已解决)(汇总)

背景:新配了一台主机,安装了双系统,windows下屏幕在带鱼屏上显示良好,但Ubuntu系统屏幕拉伸严重。 问题描述:系统没有适应屏幕被整个拉伸了,进入设置界面,显示Built-in Display,分辨率只有1024*768无法设置。 尝试一:网上最多的方法就是使用xrandr, 结果显示:xrandr:Failed to get size of gamma for output default 尝试二: 第一次进入命令行页面:login:填你的用户面 password:使用字母上方的数字键输入你的密码

weixin_45626706的博客 4623

DIY T12烙铁头驱动难题:用几个电容二极管,搞定NMOS上管驱动(附Multisim仿真)

本文详细介绍了如何利用电荷泵电路解决DIY T12烙铁头驱动中的NMOS上管驱动难题。通过巧妙组合电容和二极管,构建低成本高效的升压电路,实现栅极高压驱动需求。文章包含具体电路设计、元件选型建议、实际搭建注意事项以及Multisim仿真验证,为电子爱好者提供了一套完整的解决方案。

weixin_33640562的博客 334

十全大补:CxImage图像处理类库

 十全大补:CxImage图像处理类库                                                                                                                                   转载IT168         CxImage是一个可以用于MFC 的C++图像处理类库

深之JohnChen的专栏 7987

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 122

C++ CxImage库下载_编译_图片截取_压缩_调整大小_格式转换

CxImage

technologyleader的专栏 1651

数据中台:大数据平台,数据仓库(DM),数据中台之间的联系以及异同分析

大数据平台是一个技术平台。这个技术平台提供了对于大数据的分布式采集,存储,流处理和计算,实时分析等能力。在没有大数据平台前也有数据集成和管理的平台,这种平台可以实现对结构化数据本身的采集,集成和管理。 管理平台,是在原生的大数据生态的基础之上,为了更好的管理集群服务,管理集群的资源,提供灵活SRE能力和资源核算审计能力的一系列工具和合称整体架构数据中台包括数据仓库的全部内容,数据仓库为数据中台提供了数据对外提供服务的基础资源,数据中台将数据仓库建设的投入价值进行最大化,以加快数据赋能业务的速度大家都知道数据

GIS摆渡人 2131

AutosarMCAL开发——基于EB CRC驱动

本文为博主个人理解总结记录,如有不正,欢迎指正。

qq_45583706的博客 1387

imagemagick图片处理工具

imagemagick是一个开源的图片处理工具,使用这个工具可以方便在自己处理图片,常用的如安想要大小来切割图片。使用这个工具就不用对图片格式做了解就可以在代码中处理图片了。 转自:http://www.netingcn.com/imagemagick-crop.html imagemagick的convert命令通过crop参数,可以把一幅大图片分成若干块大小一样的图

zzd121333的专栏 829

pillow模块Image.crop()函数切割图片方法,参数说明

使用Image.crop()方法对图片进行切割。 参数: Image.crop(left, up, right, below) left:与左边界的距离 up:与上边界的距离 right:还是与左边界的距离 below:还是与上边界的距离 简而言之就是,左上右下。 例子:将一张美女图片切分成9张(3*3) 图片: 美女.jpg 代码: # -...

weixin_30527423的博客 7366

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

常用的CxImage函数及简单的例子

1、Load:reads from disk the image in a specific format; 2、Save:saves to disk the image in a specific format; 3、Filter:2D linear filter(图像锐化,可提高图像清晰度); 4、Copy:copies the image from an exsisting s

liulina603的专栏 8401

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

CxImage的使用以及基本用法

基本定义:CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。 下载地址:http://www.codeproject.com/KB/graphics/cximage.aspx 配置环境: 1、拷贝CxImage到项目目录      a、编译CxImage      b、cximage600_full\CxImage:所有的头文件和源文件      c、

lanyanai的专栏 1142

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CxImage的使用及基本用法

基本定义:CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。下载地址:http://www.codeproject.com/KB/graphics/cximage.aspx配置环境:1、拷贝CxImage到项目目录a、编译CxImageb、cximage600_full\CxImage:所有的头文件和源文件c、查找所有的lib2、添加头文件目录CxImage\Inc

Augusdi的专栏 5433

什么是image crop?

一直对image crop很困惑,总算是看到了一篇描述较为简洁的说明:图像crop就是指从图像中移除不需要的信息,只保留需要的部分 转载于:https://www.cnblogs.com/lutingting/p/5174339.html...

weixin_30852451的博客 1504
上一篇: tomcat5.5安装
下一篇: 用内存位图的数据流创建cximage对象
secondfloor
博客等级 码龄18年 2粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值