راهنمایی برای یافتن لایبرری عکس در کلوژر

clojure
java
image-processing
library

#1

سلام خدمت کلوژر دوستان عزیز.

اصل مطلب:
کسی لایبرری درست و حسابی برای کار با عکس سراغ داره؟

  • خوندن و نوشتن jpg, png, tiff و غیره
  • امکان دسترسی به مقدار هر پیکسل (مثلا آرایه‌ای از همه‌ی پیکسلها)
  • امکان ویرایش و فیلتر و kernel
  • امکان رسم شکل و در کل تغییر پیکسلها

حواشی:
من با python/pillow زیاد کار کردم و اگه یه چیزی مثل این باشه که عالیه.
با openCV هم کار کردم و میدونم برای java هم بایندینگ داره. (ولی نمیدونم چطوری باید از این مدل لایبرریهای پیچیده توی پروژه‌ی کلوژر استفاده کنم و اصلا نمیدونم که انتخاب درستی هست یا نه.)

اگه بخوام خیلی ساده توضیح بدم، نیاز دارم یه سری عکس خیلی بزرگ (مثلا ۱۲مگاپیکسل) رو پردازش کنم. مثلا یه kernel ساده روش پیاده کنم و خروجی رو با سرعت بالا ببینم. (پردازشها live هستن و کاربر نیاز داره حداقل ۳۰فریم بر ثانیه ببینه)
immutable بودن برام خیلی مهمه. هر ویرایشی که کاربر انجام میده باید live باشه و تاثیری روی دیتا نذاره.

لایبرریهایی که برای کلوژر پیدا کردم خیلی قدیمی و داغون بودن.
لایبرریهایی برای جاوا وجود داره ولی هیچکدومو نمیشناسم. برای همین از شما میپرسم ببینم کدومو پیشنهاد میکنید.


#2

چرا یک قسمت از برنامه رو با همون پایتان نمی زنید و بعد کلوژور خروجیشو بگیرید و موارد … وقتی خیلی باهاش کار کردید و مسلط هستید بهش


#3

خوب هدفم بیشتر یاد گرفتنه تا انجام پروژه!
پایتون آخرین سنگره ولی میخوام تا میتونم سراغش نرم.

احتمالا این پروژه یه نسخه‌ی تحت وب هم داشته باشه که میخوام با clojure-script انجامش بدم.


#4

من هیچ وقت با کلوژر image processing انجام ندادم اما فکر می کنم انتخاب های خوبی تو jvm داشته باشی


#5

لایبرریهای خیلی کمی برای کلوژر وجود داره. واسه کسی که از پایتون اومده خیلی نا‌امید کنندست :grin:

تا حالا جاوا کار نکردم پس هیچکدوم از لایبرریها رو نمیشناسم. پس باید یه چندتایی رو تست کنم.
تا حالا از داخل کلوژر با لایبرریهای جاوا کار نکردم. (بجز یه سری کلاسهای داخلی جاوا مثل toUpperCase و math/power) شاید بهتر باشه اول با یه لایبرری ساده تر یه پروژه بزنم. مثلا با zxing کار کنم.


#6

از اون جایی که کلوژر رو jvm ران می شه. این مساله مشکلی ایجاد نمی کنه. برای هر کاری می تونی از کتابخونه های جاوا به آسونی استفاده کنی. خیلی معمول هست این کار


#7

کتابخانه های Java, Scalala و Kotlin در خدمت شما هستند


#8

راستشو بخوای اصلا حواسم نبود scala و kotlin هم تو زمین ما بازی میکنن :wink:

ولی کاش یه لایبرری pure clojure وجود داشت. اینطوری آدم خیالش از خیلی‌چیزا راحت بود. (immutable و اینجور صحبتا)
از طرف دیگه تا حالا با این زبانها کار نکردم پس لایبرریهاشونو نمیشناسم. احتمالا باید ۵۰تا لایبرری توی ۳تا زبون مختلف رو تست کنم تا اونی که میخوامو پیدا کنم :grinning:

screenshot


#9

در مورد immutability هم میشه همچنان اتمینان داشت، شما از کتابخانه های جاوا فقط به عنوان extension استفاده میکنید و دیتای پداخت شده در اون کتب خانه ها، در اکوسیستم کلوژر immutable خواهند بود.