Swift는 IOS어플리케이션 제작을 하는데 필요한 언어이며, 안드로이드에서는 JAVA와 Kotlin을 사용하고있다. Swift도 Kotlin과 같이 처음부터 짜쟌~하고 나타난 언어가 아니다. Swift가 생긴지는 약 4년정도 되었고 그전에는 Objective-C를 이용하여 IOS어플리케이션을 제작하였다. 그만큼 Objective-C에서 불편하였던 각종 코드들이 좀더 간결하고 파워풀하게 나타났다고 개인적으로 생각한다. 1. Swift 변수 선언 스위프트에서 변수를 생성하려면 var, let 키워드를 사용한다. 기본적인 형태는 var [변수명]: [데이터 타입] = [값]의 형태 이다. 또한, let도 같은 형태로 사용할 수 있다. var : 변수선언, let : 상수선언 을 할때 사용을 한다. let은 ..
출처:오마이뉴스 0. 머리말 -자바 프로젝트를 어떤것을 해볼까 하다가 요즘 한참 가계부를 적는데 빠져서 이걸 프로그램으로 만들어서 더욱더 편하게 가계부를 만들면 어떨까??라는 생각으로 프로젝트를 진행하였습니다. 비교적 간단하게 생각을 하고 프로젝트를 진행하였지만 쉽지만은 않았습니다. 그래도 하나의 프로젝트를 통해 자바에 대한 이해도가 많이 높아지기를... 1. 사용 프로그램 - VScode, JAVA2. 프로젝트 설명- 본 프로젝트는 자바를 이용하여 나만의 가계부를 만드는것을 목표로 합니다. 데이터들을 최대한 클래스화 하여 보다 편하게 데이터를 유지보수하는데 힘을 실었으며, 추후에는 웹서버, PHP를 이용하여 실시간으로 데이터를 저장하고 불러 올 수 있도록 할 것이다. 3. 프로젝트 기능 가계부 작성 -..
0. 간단한 이미지 처리 123456789101112131415161718192021222324252627282930import cv2import numpy as np def mouse_callback(event,x,y,flags,param): print("X= "+str(x)+"Y= "+str(y)) img = cv2.imread('Ronaldo.jpg')px = img[100,100] # 100,100 지점의 색상값 BGRblue = img[100,100,0] #100,100 지점의 B 색상값만 반환 [x,y,0 = B , 1 = G, 2 = R]img[100,100] = [255,255,255] #100,100 지점의 색상 변경하기.img.item(10,10,2)print(img.shape) #이미..
0. 이미지 위에 그림, 글자 그리기 - 여기서는 numpy를 같이 이용하여 글자와 그림을 그릴 것입니다.123456789101112131415161718192021222324import numpy as npimport cv2 # Create a black imageimg = np.zeros((512,512,3), np.uint8)# 5px 짜리 직선그리기 (시작점),(끝점),(색상),크기img = cv2.line(img,(0,0),(511,511),(255,0,0),5)# 3px 짜리 사각형 그리기 (시작점),(다음점),(색상),크기img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)# 꽉찬 원그리기 (중심점),반지름(색상),채우냐 마냐 -1 = 채우기 1 ..
0. 동영상 다루기 123456789101112131415import cv2 cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xff == ord('q'): #q버튼을 누르면 영상 꺼짐 break; cap.release()cv2.destroyAllWindows()Colored by Color Scriptercs 카메라를 이용하여 이미지를 캡쳐하기위해서는 cv2.VidoeCapture(0) 객체를 생성해줍니다.여기서 2대의 카메라를 이용할 경우에는 cv2.VideoCapture(1) 객체를 생성해주면 됩니다. 여기서는 동영상처럼 보여주기위해 while문을 이용하..
0. Open CV란- OpenCV(Open Sourece Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 인텔에서 개발을 시작하였으며, 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다.위 사진과 같이 원본이미지를 자유자재로 변형하거나 특수한 기능을 넣어서 어떤 특정물체를 더 선명하게 볼 수 있도록 처리할 수 있으며, 동영상에서 특정 물체를 인식하거나, 글자를 인식하여 문자로 반환을 해줄 수 도 있다. 이미지 출처 : https://thebook.io/006796/ch07/04/01/ , https://www.youtube.com/watch?v=CFsmHAX77nk 글쓴이는 과거에 대학교 전공과목으로 영상처리에 대해서 배운적이 있다. 하지만 그때는 그냥 따라..
자바를 이용하여서 알고리즘 문제를 풀다가 안드로이드로 넘어가서 공부하던중...데이터베이스 연동부분에서 턱! 하니 막혀버렸습니다...왠지 자바에대한 기초가 부족하여서 그런것같아 다시 자바를 잡고 새로운 프로젝트를 진행할려고합니다. 바로! 블랙잭 게임입니다.새로운 프로젝트가 없을까 하면서 검색을 하던중 블랙잭이 눈에 띄었고 바로 프로젝트를 진행하였습니다. 하지만 진짜 기초가 부족했던지 책을 뒤져보고, 구글링을 하면서 프로젝트를 진행할려고 했지만 쉽지만은 않았습니다. 처음에는 ArrayList를 이용하여서 여러개의 클래스와 객체들을 만들어서 보다 심도있게 진행할려고 했지만...마음처럼 쉽게 풀리지가 않더라고요.그래서 우선은 배열을 이용하여서 프로젝트를 진행할려고합니다. 1. 배열을 이용하여 카드 52장의 카드..
0.서론화면을 구성할 때는 보통 각각의 화면을 액티비티로 만든 후 액티비티끼리 전환시킵니다.그 과정에서는 intent를 이용하여 액티비티끼리 전환을 하는 방법이 있습니다.intent를 이용하여 데이터를 다른 액티비티로 전달할 수 도 있으며, 데이터를 받을 수 도 있습니다.하지만 intent를 이용하여 액티비티끼리 전환을 하게 되면만약에 A라는 액티비티에서 B,C,D,E 액티비티로 전환을 하게되는데, 여기서 B,C,D,E라는 액티비티가 단순히 이름만 바뀌는 경우, 아님 그림만 바뀌는 경우라면 메모리를 많이 잡아 먹을 것입니다.하지만 Fragment(프래그먼트)는 한 화면에 여러개의 액티비티를 띄울 수 있으며, 메모리도 적게 사용할 것입니다.그리하여 프래그먼트의 사용 목적으로는 다음과 같이 정리할 수 있습니..