概要
在使用 DicomImageReader 创建 BufferedImage 时,出现 java.lang.NoClassDefFoundError: Could not initialize class org.dcm4che3.opencv.StreamSegment 异常; 这是由于本地没有 opencv 支持导致的,于是进行OpenCV 安装;
DicomImageReader reader = (DicomImageReader) ImageIO.getImageReadersByFormatName("DICOM").next();
reader.setInput(fileImageInputStream);
DicomMetaData metadataOrig = reader.getStreamMetadata();
Attributes attr = metadataOrig.getAttributes();
DicomImageReadParam param = (DicomImageReadParam) reader.getDefaultReadParam();
BufferedImage originBufferedImage = reader.read(0, param); // 报错行
安装opencv_java 时 发现
You are using macOS 13.
We do not provide support for this pre-release version
这是由于系统更新 某些文件的权限被更改 ,导致的,于是开始更新 brew,使其能正常使用
更新 brew
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
brew update
安装 ant
brew install ant
Apache Ant应当保存在 /usr/local/bin/ant这个位置。
安装 Xcode
xcode-select --install
macOS下安装OpenCV最快的方法是使用Homebrew。Homebrew安装完毕之后,必须检查你的系统是否已经安装了XCode命令行工具。
编辑 opencv 打开 java版本支持 (-DBUILD_opencv_java=ON)
brew edit opencv
请确认安装OpenCV必备的Apache Ant已经安装完毕。否则,请通过Homebrew: brew install ant安装。同时,
安装 OpenCV
brew install --build-from-source opencv
OpenCV完成安装后,所需的jar文件和dylib库将位于 /usr/local/Cellar/opencv/3.x.x/share/OpenCV/java/ (比如/usr/local/Cellar/opencv/4.5.5_2/share/OpenCV/java/)。
请注意:如果你是将OpenCV从较早版本更新到最新版本的,此方法无效!你需要卸载原有的OpenCV并重新安装。