unix下'.LJPEG'格式图片怎么处理啊

时间:2021-12-01 22:13:16
如题,‘.LJPEG’格式图片是在unix下的无损jpeg压缩(常用于医学图片),有作者提供的在unix下的解压程序
但是不知道怎么用,还没用过!有人在cygwin下成功解压过,但是不知道该怎么做,请高人指点!
这是提供的一个文档资料,看不大懂

#!/bin/tcsh -f
################################################################################
# FILE: case_decompress
# Purpose: This is a simple script to call the jpeg decompression program on
# each .LJPEG file in the current directory.
# Name: Mike Heath
# Date: 1/13/2000
# Copyright: Michael Heath and Dr. Kevin Bowyer 2000
################################################################################

#-------------------------------------------------------------------------------
# Check to see if the environment variable MAMMOCODEDIR is set. If not, set  it.
#-------------------------------------------------------------------------------
set isMAMMOCODEDIRset = `setenv | grep -c MAMMOCODEDIR`
if($isMAMMOCODEDIRset == 0) then
   set thisdir = `pwd`
   set mdirectory = `dirname $0`
   cd $mdirectory
   set mcodedir = `pwd`
   set mammocodedir = `dirname $mcodedir`
   cd $thisdir
   setenv MAMMOCODEDIR $mammocodedir
endif
set isMAMMOCODEDIRset = `setenv | grep -c MAMMOCODEDIR`
if($isMAMMOCODEDIRset == 0) then
   echo "The environment variable MAMMOCODEDIR is not set properly."
endif

#------------------------------------------------------------------------------
# Look for the LJPEG file.
#------------------------------------------------------------------------------
set thisdir = `pwd`
set ljpeg_exists = `ls -1 *.LJPEG >& /dev/null `
if ($? != 0) then
printf "\nError no LJPEG (.LJPEG) files found in directory %s.\n\n" {$thisdir}
cd ..
exit
endif

#-------------------------------------------------------------------------------
# Decompress all of the LJPEG files in this directory.
#-------------------------------------------------------------------------------
foreach x (`ls *.LJPEG`)
   {$MAMMOCODEDIR}/compression/jpeg -d -s $x
end

12 个解决方案

#1


在POSIX环境不是所有的文件后缀都是无效的,只是方便用户管理,
至于楼主所提到的图片格式,看来要根据图片供应商的指定算法再来书写程序。

楼上的shell代码好像并没有设计到什么解压缩。

#2


是的,图片供应商提供了一个名叫‘jpeg’的解压程序,URL:ftp://figment.csee.usf.edu/pub/DDSM/software/bin/jpeg
是在SunOS 5.5 下运行的,不知道有没办法在cygwin下运行
http://marathon.csee.usf.edu/Mammography/DDSM/case_description.html这里有‘.LJPEG’说明
‘.LJPEG’图片可以在http://marathon.csee.usf.edu/Mammography/Database.html下载到,美国南佛罗里达大学的一个数据库。
zhh_8848(海竹)在http://topic.csdn.net/t/20050421/13/3955076.html帖子中遇到了一样的问题,他2005年在cygwin环境顺利解决了
不知道怎么能联系到他。请指点,谢谢啦~~

#3


引用 2 楼 wangww631 的回复:
是的,图片供应商提供了一个名叫‘jpeg’的解压程序,URL:ftp://figment.csee.usf.edu/pub/DDSM/software/bin/jpeg
是在SunOS 5.5 下运行的,不知道有没办法在cygwin下运行
http://marathon.csee.usf.edu/Mammography/DDSM/case_description.html这里有‘.LJPEG’说明
‘.LJPEG’图片可以在http://marathon.csee.usf.edu/Mammography/Database.html下载到,美国南佛罗里达大学的一个数据库。
zhh_8848(海竹)在http://topi…

我是菜鸟,爱莫能助了,帮你顶起,希望有高手来解决。

#4


呵呵,多谢了~~

#5


[code=BatchFile]#------------------------------------------------------------------------------- 
# Decompress all of the LJPEG files in this directory. 
#------------------------------------------------------------------------------- 
foreach x (`ls *.LJPEG`) 
  {$MAMMOCODEDIR}/compression/jpeg -d -s $x 
end 
[/code]
这段代码就是在解压缩了。

使用方法是,在你存放LJPEG文件的目录里,执行这个脚本。

例如,你现在所在目录是/home/Joey/testJ
这个目录下面存放着5个文件,其中3个是LJPEG文件,1个是你贴出来的这个文档,文档名是decode.sh,还有一个文件是readme。
那么,你在/home/Joey/testJ目录下执行./decode.sh命令就可以了。

如果有问题,把出错信息贴出来。

#6


谢谢指点,代码中的‘jpeg’是作者提供的(二进制文件),原来是在unix下用来解压图片的,这里用的话该怎么调用?
和LJPEG文件放在同一目录里吗?
http://topic.csdn.net/t/20050421/13/3955076.html#r_29128280试过下面的命令,可以运行,
下载到的文档里也有这个指令说明
 ”有个jpeg.exe可执行文件,在命令窗口输入如下命令:   
  jpeg   -d   -s   filename.LJPEG   
  就能把filename.LJPEG转换为我需要的文件格式“  

但是我自己在cygwin里调用这个指令时,说二进制文件无法运行,不知道什么原因,是不是因为版本缘故?jpeg程序好像是2000年
左右编的,当时是在SunOS 5.5 下环境下运行

#7


没错,就是版本的缘故。你下载的是SunOS 5.5 下运行的,找个对应你的环境的版本来就可以了

或者要个源代码,自己重新编译下,就行了。

#8


另外,jpeg不用特地放在哪个目录里,前面的大段处理就是在找jpeg在哪个目录里。

不过,为了防止意外(每种linux环境都有细微差别),你还是把jpeg放在同一个目录下面吧。

#9


我现在装的cygwin版本是1.5.25-15,比较新。
$pwd
/home/wang-ww
现在将贴出来的这个文档,文档名改成case_decompress.sh,
将jpeg文件,LJPEG文件以及case_decompress.sh都放在wang-ww文件夹里
直接执行指令:jpeg -d -s C_0029_1.LEFT_CC.LJPEG的话
结果:
wang-ww@wangww~
$ jpeg -d -s C_0029_1.LEFT_CC.LJPEG
bash:jpeg: command not found
这是什么原因呢?(C_0029_1.LEFT_CC.LJPEG是医学图片)
执行指令:./case_decompress.sh
结果:
wang-ww@wangww~
$./case_decompress.sh
bash:./case_decompress.sh: No such file or directory

暂不考虑版本的话,正确的指令应该怎么写呢?比较迷茫(三种文件都是直接放在wangww-ww文件加下)

谢谢啦

等下再下个低点的版本试试

#10


直接jpeg -d -s C_0029_1.LEFT_CC.LJPEG
可能不行
要在jpeg前面加上./的

#11


试了几个版本,出现不同的问题,04年的cygwin1.5.18版本
$./jpeg -d -s C_0029_1.LEFT_CC.LJPEG 
./jpeg: ./jpeg: cannot execute binary file

01年的cygwin1.3.1版本
$./jpeg -d -s C_0029_1.LEFT_CC.LJPEG 
./jpeg :7: Systax error: "&" unexpected
这是不是还是版本问题啊,jpeg 是2000年写的

01年前的cygwin版本变化较大,怎么安装都成问题
网上也不好下了

#12


是./jpeg :7: Syntax error: "&" unexpected 

#1


在POSIX环境不是所有的文件后缀都是无效的,只是方便用户管理,
至于楼主所提到的图片格式,看来要根据图片供应商的指定算法再来书写程序。

楼上的shell代码好像并没有设计到什么解压缩。

#2


是的,图片供应商提供了一个名叫‘jpeg’的解压程序,URL:ftp://figment.csee.usf.edu/pub/DDSM/software/bin/jpeg
是在SunOS 5.5 下运行的,不知道有没办法在cygwin下运行
http://marathon.csee.usf.edu/Mammography/DDSM/case_description.html这里有‘.LJPEG’说明
‘.LJPEG’图片可以在http://marathon.csee.usf.edu/Mammography/Database.html下载到,美国南佛罗里达大学的一个数据库。
zhh_8848(海竹)在http://topic.csdn.net/t/20050421/13/3955076.html帖子中遇到了一样的问题,他2005年在cygwin环境顺利解决了
不知道怎么能联系到他。请指点,谢谢啦~~

#3


引用 2 楼 wangww631 的回复:
是的,图片供应商提供了一个名叫‘jpeg’的解压程序,URL:ftp://figment.csee.usf.edu/pub/DDSM/software/bin/jpeg
是在SunOS 5.5 下运行的,不知道有没办法在cygwin下运行
http://marathon.csee.usf.edu/Mammography/DDSM/case_description.html这里有‘.LJPEG’说明
‘.LJPEG’图片可以在http://marathon.csee.usf.edu/Mammography/Database.html下载到,美国南佛罗里达大学的一个数据库。
zhh_8848(海竹)在http://topi…

我是菜鸟,爱莫能助了,帮你顶起,希望有高手来解决。

#4


呵呵,多谢了~~

#5


[code=BatchFile]#------------------------------------------------------------------------------- 
# Decompress all of the LJPEG files in this directory. 
#------------------------------------------------------------------------------- 
foreach x (`ls *.LJPEG`) 
  {$MAMMOCODEDIR}/compression/jpeg -d -s $x 
end 
[/code]
这段代码就是在解压缩了。

使用方法是,在你存放LJPEG文件的目录里,执行这个脚本。

例如,你现在所在目录是/home/Joey/testJ
这个目录下面存放着5个文件,其中3个是LJPEG文件,1个是你贴出来的这个文档,文档名是decode.sh,还有一个文件是readme。
那么,你在/home/Joey/testJ目录下执行./decode.sh命令就可以了。

如果有问题,把出错信息贴出来。

#6


谢谢指点,代码中的‘jpeg’是作者提供的(二进制文件),原来是在unix下用来解压图片的,这里用的话该怎么调用?
和LJPEG文件放在同一目录里吗?
http://topic.csdn.net/t/20050421/13/3955076.html#r_29128280试过下面的命令,可以运行,
下载到的文档里也有这个指令说明
 ”有个jpeg.exe可执行文件,在命令窗口输入如下命令:   
  jpeg   -d   -s   filename.LJPEG   
  就能把filename.LJPEG转换为我需要的文件格式“  

但是我自己在cygwin里调用这个指令时,说二进制文件无法运行,不知道什么原因,是不是因为版本缘故?jpeg程序好像是2000年
左右编的,当时是在SunOS 5.5 下环境下运行

#7


没错,就是版本的缘故。你下载的是SunOS 5.5 下运行的,找个对应你的环境的版本来就可以了

或者要个源代码,自己重新编译下,就行了。

#8


另外,jpeg不用特地放在哪个目录里,前面的大段处理就是在找jpeg在哪个目录里。

不过,为了防止意外(每种linux环境都有细微差别),你还是把jpeg放在同一个目录下面吧。

#9


我现在装的cygwin版本是1.5.25-15,比较新。
$pwd
/home/wang-ww
现在将贴出来的这个文档,文档名改成case_decompress.sh,
将jpeg文件,LJPEG文件以及case_decompress.sh都放在wang-ww文件夹里
直接执行指令:jpeg -d -s C_0029_1.LEFT_CC.LJPEG的话
结果:
wang-ww@wangww~
$ jpeg -d -s C_0029_1.LEFT_CC.LJPEG
bash:jpeg: command not found
这是什么原因呢?(C_0029_1.LEFT_CC.LJPEG是医学图片)
执行指令:./case_decompress.sh
结果:
wang-ww@wangww~
$./case_decompress.sh
bash:./case_decompress.sh: No such file or directory

暂不考虑版本的话,正确的指令应该怎么写呢?比较迷茫(三种文件都是直接放在wangww-ww文件加下)

谢谢啦

等下再下个低点的版本试试

#10


直接jpeg -d -s C_0029_1.LEFT_CC.LJPEG
可能不行
要在jpeg前面加上./的

#11


试了几个版本,出现不同的问题,04年的cygwin1.5.18版本
$./jpeg -d -s C_0029_1.LEFT_CC.LJPEG 
./jpeg: ./jpeg: cannot execute binary file

01年的cygwin1.3.1版本
$./jpeg -d -s C_0029_1.LEFT_CC.LJPEG 
./jpeg :7: Systax error: "&" unexpected
这是不是还是版本问题啊,jpeg 是2000年写的

01年前的cygwin版本变化较大,怎么安装都成问题
网上也不好下了

#12


是./jpeg :7: Syntax error: "&" unexpected