최적의 Java 이미지 처리 라이브러리/접근법은 무엇입니까?
JAI 미디어 apis와 Image Magick을 모두 사용하고 있습니까?
Image Magick에는 확장성 문제가 몇 가지 있으며 JNI 기반의 JMagick도 매력적이지 않습니다.JAI는 ImageMagick에 비해 크기 조정 작업을 할 때 품질이 좋지 않습니다.
오픈 소스 또는 상용 툴 중 네이티브 Java로 고품질의 결과를 제공하는 뛰어난 툴을 알고 있는 사람이 있습니까?
이 질문이 꽤 오래되었다는 것은 알지만, 새로운 소프트웨어가 출시되면 사람들에게 흥미로울 수 있는 프로젝트에 대한 새로운 링크를 얻는 데 도움이 됩니다.
imgscalr는 순수 Java 이미지 크기 조정(및 패딩, 크롭, 회전, 밝기/조광 등 간단한 조작) 라이브러리입니다.단일 클래스는 모두 정적 방법으로 정의되어 이미지를 전달하고 결과를 반환합니다.
라이브러리를 사용하는 가장 기본적인 예는 다음과 같습니다.
BufferedImage thumbnail = Scalr.resize(image, 150);
또, 몇개의 품질 조정등을 사용해 이미지의 썸네일을 생성하는 일반적인 사용법은 다음과 같습니다.
import static org.imgscalr.Scalr.*;
public static BufferedImage createThumbnail(BufferedImage img) {
// Create quickly, then smooth and brighten it.
img = resize(img, Method.SPEED, 125, OP_ANTIALIAS, OP_BRIGHTER);
// Let's add a little border before we return result.
return pad(img, 4);
}
모든 이미지 처리 작업은 원시 Java2D 파이프라인(주요 플랫폼에서 하드웨어 가속)을 사용하며 코드의 라이브러리 경합처럼 JNI를 통해 호출하는 번거로움을 초래하지 않습니다.
imgscalr는 대규모 프로덕션에도 많은 장소에서 도입되어 있습니다.AsyncScalr 클래스가 포함되어 있기 때문에 서버측 이미지 처리에 매우 적합합니다.
GIMP의 Lancoz3 실장보다 뛰어난 스케일링 결과를 얻을 수 있는 최고 ULTRA_QUALTION 모드로 속도와 화질을 균형 있게 조정할 수 있습니다.
그리고 ImageJ가 있어요.
세계에서 가장 빠른 순수 자바 이미지 처리 프로그램
다른 응용 프로그램에서 라이브러리로 사용할 수 있습니다.이 아키텍처는 훌륭하지는 않지만 기본적인 이미지 처리 작업을 수행합니다.
또 다른 좋은 대안: Marvin
Java는 아니지만 OpenCV는 제 요구에 딱 맞습니다.당신 것과 맞는지 모르겠어요.여기 Java 포트가 있습니다.http://docs.opencv.org/2.4/doc/tutorials/introduction/desktop_java/java_dev_intro.html
처리는 새롭지만 매우 좋습니다.
요점:
- AForge와 같은 아키텍처.NET/Acord.그물.
- 동일한 코드(데스크탑 및 Android)를 사용하는 두 환경에서 모두 실행할 수 있습니다.
- 여러 필터를 병렬로 포함합니다.
- 개발이 한창 진행 중이다.
Catalano Framework는 Java 및 Android용 과학 컴퓨팅 프레임워크입니다.이 프로젝트는 AForge의 많은 기능 중 첫 번째 포트로 시작되었습니다.NET 및 Concord.의 NET 프레임워크.현재 이러한 프로젝트 간에 공유되고 있는 보다 고도의 기능을 통해 꾸준히 성장하고 있습니다.
예:
FastBitmap fb = new FastBitmap(bitmap);
Grayscale g = new Grayscale();
g.applyInPlace(fb);
Threshold t = new Threshold(120);
t.applyInPlace(fb);
bitmap = fb.toBitmap();
//Show the result
imo 최고의 접근법은 Java의 커맨드라인 인터페이스로서 im4java를 탑재한 GraphicsMagick Image Processing System을 사용하는 것입니다.
Graphics Magick에는 많은 장점이 있지만, 그 중 하나는 다음과 같습니다.
- GM은 세계에서 가장 큰 사진 사이트(예: Flickr 및 Etsy)에서 수십억 개의 파일을 처리하는 데 사용됩니다.
http://im4java.sourceforge.net/ - Linux 포킹을 실행하고 있다면 새로운 프로세스는 비용이 들지 않습니다.
상용 도구의 경우 Snowbound를 사용해 보는 것이 좋습니다.
JAI보다 Java Imaging API가 훨씬 사용하기 쉽고 빠르다는 것을 알게 되었습니다.
고객 지원과 코드 샘플도 매우 좋았습니다.
RoboRealm 비전 소프트웨어 목록에는 Java가 아닌 다른 많은 라이브러리 중 JHLabs와 NeatVision이 언급되어 있습니다.
이것이 "최고의" 라이브러리라고는 말할 수 없지만, 저는 여러분이 이것을 시도해 볼 수 있다고 생각합니다:http://algart.net/java/AlgART/ 이것은 오픈 소스 Java 라이브러리이며, 2D, 3D, 다차원 이미지 처리 및 기타 알고리즘을 포함한 다양한 유형의 요소(1비트부터 64비트 부동소수점까지)를 가진 일반적인 "스마트" 어레이와 매트릭스를 지원합니다.배열과 매트릭스를 사용합니다.유감스럽게도 현재 데모와 예는 충분하지 않지만 JavaDocs가 많이 포함되어 있습니다.몇 년 동안 상용 소프트웨어(SIMAGIS)의 기반이었지만, 현재는 오픈 소스입니다.
언급URL : https://stackoverflow.com/questions/603283/what-is-the-best-java-image-processing-library-approach
'programing' 카테고리의 다른 글
express.body get 메서드가 req.body 값을 가져올 수 없습니다. (0) | 2022.07.21 |
---|---|
Spring Cache @Cacheable - 같은 빈의 다른 메서드에서 호출 중 작동하지 않음 (0) | 2022.07.21 |
ISO 8601 형식으로 날짜, 시간 및 분을 사용하여 현재 모멘트를 얻는 방법은 무엇입니까? (0) | 2022.07.21 |
"calloc"의 첫 번째 "c"는 무엇을 의미합니까? (0) | 2022.07.21 |
Vuetify가 기본 CSS를 덮어쓰지 않도록 하는 방법 (0) | 2022.07.21 |