请提供一些思路和关于巨大尺寸图形处理的例程序

时间:2021-11-15 11:57:16
明天要用C++编写一个处理大型图形的工具,
需要处理没长30M左右的卫星图片,把它分割成400张小图片。
以前的工具使用C#编写,处理时总发生内存错误,所以需要重新编写。
请高手提供一些关于图形处理方面的函数库,类或者一些例程序。

不胜感谢。

18 个解决方案

#1


没有人顶,自己顶一下。

关于图形分割的例子有吗?

我认为一次性读写的图形文件比较大,所以,我想在程序中实现,一次读取,处理,输出后,再循环相同的步骤处理下一张。

处理这种大型文件时,应该用什么样的函数?望高人指点,帮忙实现一下。

#2


mark

#3


众人拾柴火焰高,各位弟兄姐妹,伸出援助之手。
工具完成后,公布全部程序,并提供下载。

#4


对于现在的计算机来讲,一次分配30M内存还不是小菜一碟?

#5


Visual C++数字图像处理

这本书找来看看,
其中有附录代码,应该可以参考一下 ~

#6


楼上的几位兄弟能否给点代码。c++好长时间没有碰,脑子里就剩下hello work了。
上司只给了三天时间,没有时间去看书,现在在网上搜索源代码呢。
说实话,转行做程序员,才不到两个月,以前是system engineer,因为喜欢这一行,所以改行了。别人好像都是从pg转se,我好像正好相反啊。呵呵。
前一段时间做了js和dhtml的,以前用过vbs,都是一些脚本。c++也用过,可是不多。
上司问我用过c++没有,我说用过。这不就让我写这个工具了,他以为我是神仙,呵呵。
虽然程序也没有什么明显的界限,但是不熟悉,就寸步难行。
他让我三天搞出来,我还真不想给国人和自己丢这个脸。



#7


楼上这位仁兄...脑子里就剩下hello work了。

#8


哈哈,work。注意到了,注意到了。
哈哈,笑死我了。

#9


30M?这么小的随便啦

#10


楼上的兄弟,能否给个例子,写个框架看看?

#11


30M的图片,你就直接一次Load到内存吧,省得麻烦...又不是300M

#12


还在找代码,我也是这么想的。可是。。。

#13


我以前写过分割图片的程序,不过在打开图片方面我用了cximage库,主要是为了处理多格式。
但是,它也是一次性打开图片的,如果你说的卫星图片的格式是bmp的我想你可以分块读取吧。

#14


卫星图片的格式是bmp的,要求生成两种格式,jpg和bmp。

#15


楼主的问题是图象的读写问题,和分割没有太大关系。

#16


打开文件用文件映射吧,

#17


楼上的,不太懂。。。

刚才想先写一段,检查文件夹中文件的个数代码。
其中一个变量用到CString类,
我建了一个,win32 console application项目,选择了支持mfc共用dll库,可是在编译的时候,死活出现cstring类未定义的错误。
不知道为什么。

程序如下。

bool ImageProcess::loadFile()
{
CString strFileTitle; 
  CFileFind finder; 
  BOOL bWorking = finder.FindFile("C:\\windows\\sysbkup\\*.cab"); 
  while(bWorking) 
  { 
  bWorking=finder.FindNextFile(); 
  strFileTitle=finder.GetFileTitle(); 
  } 

return true;
}

#18


ImageProcess是我追加的一个类。用的vs版本是6.0的sp5.

#1


没有人顶,自己顶一下。

关于图形分割的例子有吗?

我认为一次性读写的图形文件比较大,所以,我想在程序中实现,一次读取,处理,输出后,再循环相同的步骤处理下一张。

处理这种大型文件时,应该用什么样的函数?望高人指点,帮忙实现一下。

#2


mark

#3


众人拾柴火焰高,各位弟兄姐妹,伸出援助之手。
工具完成后,公布全部程序,并提供下载。

#4


对于现在的计算机来讲,一次分配30M内存还不是小菜一碟?

#5


Visual C++数字图像处理

这本书找来看看,
其中有附录代码,应该可以参考一下 ~

#6


楼上的几位兄弟能否给点代码。c++好长时间没有碰,脑子里就剩下hello work了。
上司只给了三天时间,没有时间去看书,现在在网上搜索源代码呢。
说实话,转行做程序员,才不到两个月,以前是system engineer,因为喜欢这一行,所以改行了。别人好像都是从pg转se,我好像正好相反啊。呵呵。
前一段时间做了js和dhtml的,以前用过vbs,都是一些脚本。c++也用过,可是不多。
上司问我用过c++没有,我说用过。这不就让我写这个工具了,他以为我是神仙,呵呵。
虽然程序也没有什么明显的界限,但是不熟悉,就寸步难行。
他让我三天搞出来,我还真不想给国人和自己丢这个脸。



#7


楼上这位仁兄...脑子里就剩下hello work了。

#8


哈哈,work。注意到了,注意到了。
哈哈,笑死我了。

#9


30M?这么小的随便啦

#10


楼上的兄弟,能否给个例子,写个框架看看?

#11


30M的图片,你就直接一次Load到内存吧,省得麻烦...又不是300M

#12


还在找代码,我也是这么想的。可是。。。

#13


我以前写过分割图片的程序,不过在打开图片方面我用了cximage库,主要是为了处理多格式。
但是,它也是一次性打开图片的,如果你说的卫星图片的格式是bmp的我想你可以分块读取吧。

#14


卫星图片的格式是bmp的,要求生成两种格式,jpg和bmp。

#15


楼主的问题是图象的读写问题,和分割没有太大关系。

#16


打开文件用文件映射吧,

#17


楼上的,不太懂。。。

刚才想先写一段,检查文件夹中文件的个数代码。
其中一个变量用到CString类,
我建了一个,win32 console application项目,选择了支持mfc共用dll库,可是在编译的时候,死活出现cstring类未定义的错误。
不知道为什么。

程序如下。

bool ImageProcess::loadFile()
{
CString strFileTitle; 
  CFileFind finder; 
  BOOL bWorking = finder.FindFile("C:\\windows\\sysbkup\\*.cab"); 
  while(bWorking) 
  { 
  bWorking=finder.FindNextFile(); 
  strFileTitle=finder.GetFileTitle(); 
  } 

return true;
}

#18


ImageProcess是我追加的一个类。用的vs版本是6.0的sp5.