앞서 말한 것과 같이 일단 openCV가 정상적으로 동작할 수 있는 펑션들을 찾고 적용해보고 진행해기로 했다.
또 환경세팅하는 것 때문에 머리깨질뻔했다. 그래도 근 며칠간 안드로이드때문에 깨진시간보다는 빠르게 진행되었다.
역시 삽질은 레전드다..
일단 나는 아래와 같이 프로젝트를 생성했다.
인텔리제이랑 안드로이드 스튜디오 왔다갔다해보니 똑같은것 같아서 편했다. 적응이 좀빠름. ㅋ
여튼 저렇게 환경세팅했고, 빌드 시스템이 세종류였는데 Gradle로 하는사람도있을 수 있었다. 근데 뭐 나는 펑션 연습만 하는 것이기 때문에 그대로 진행했다. (사실 왔다갔다 다해봤고 결론지었음)
그렇게 시작하고 이번에는 import module이 아닌, project structure로 들어간다.
그리고 modules 에 들어가고 +눌러주고 JAR 어쩌고 첫번째 누름
이후 jar 찾아서 추가해준다.
여기서 끝이아님.
기능 사용에는 지장이 없는데, 찾아보니.. systemcall을 사용해야하는 것 같다.
수많은 착오 끝에 절대경로 넣고 추가하고 하다보니 해냄 ㅎㅎ
import org.opencv.core.Core
import org.opencv.core.Mat
import org.opencv.highgui.HighGui.imshow
import org.opencv.highgui.HighGui.waitKey
import org.opencv.imgcodecs.Imgcodecs
fun opencvTest(){
val img_src = Imgcodecs.imread("D:\\Develop\\IntelliJ\\Img\\NoNice.jpg")
//var img_dst :Mat=Mat()
//Canny(img_src,img_dst,10.0,100.0)
//Imgcodecs.imwrite("./result.jpg",img_dst)
imshow("Canny",img_src)
waitKey(0); // Wait for a keystroke in the window
}
fun main(args: Array<String>) {
//println("Hello World!")
//System.setProperty("java.library.path", "D:/lib/opencv_3_4_16/build/java")
println(Core.NATIVE_LIBRARY_NAME)
//System.loadLibrary( Core.NATIVE_LIBRARY_NAME )
//val javaPathStr="D:/lib/opencv_3_4_16/build/java/"
val javaPathStr="D:/lib/opencv_3_4_16/build/java/x64/"
System.load(javaPathStr+Core.NATIVE_LIBRARY_NAME+".dll");
//System.load(javaPathStr+"/opencv.dll");
opencvTest()
}
진호씨 ㅎㅇ
이미지 로드 성공. 캐니 적용.
성공 ㅎㅎ 이제 다시 안드로이드로 넘어간다
'개발일지 > 코틀린(Kotlin)' 카테고리의 다른 글
코틀린 - 카메라 필터 앱 만들기 - 6 (OpenCV) (0) | 2024.04.16 |
---|---|
코틀린 - 카메라 필터 앱 만들기 - 5 (CameraX + OpenCV) (0) | 2024.04.15 |
코틀린 - 카메라 필터 앱 만들기 - 3 (CameraX+OpenCV) (0) | 2024.04.15 |
코틀린 - 카메라 필터 앱 만들기 - 2 (OpenCV 세팅) (0) | 2024.04.15 |
코틀린 - 카메라 필터 앱 만들기 - 1(CameraX) (0) | 2024.04.15 |