Loading...
2024. 4. 24. 02:37

Unity 기본10 - class 만들기

1. class 만들기 scripts에 character.cs c# 스크립트를 만든다 project 창에서 우클릭 - create - c# script하면 만들 수 있다 character.cs 더블클릭해서 visual studio를 연다 Character이름 옆에 MonoBehaviour 제거하고 void start, void update 모두 제거해서 class 틀만 남긴다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Character { } 클래스 이름, 함수 이름은 대문자로 시작하고 변수 이름은 소문자로 시작하는 것을 관습으로 하고 있다 캐릭터의 이름과 체력을 속성으로 가지고, 맞..

2024. 4. 23. 01:51

Unity 기본9 - enum, struct

1. enum 저장되는 데이터에 이름을 붙여서 읽기 편한 코드를 만드는 것 내부적으로는 int로 정수형과 같다 0,1,2,... 로 되는데.. arrow - 0 bullet - 1 missile - 2 ... 파이썬의 enumerate 같은 거인듯? using System.Collections; using System.Collections.Generic; using UnityEngine; public class HelloWorld : MonoBehaviour { enum ProjectileKind { Arrow, Bullet, Missile } // Start is called before the first frame update void Start() { ProjectileKind kind; kind ..

2024. 4. 22. 23:43

matplotlib.pyplot의 gray image 출력이 이상하다면

흑백이미지를 준비하고 matplotlib.pyplot에서 plt.imshow로 출력을 해보면 cmap이라는 옵션을 줘야한다 color map이라는 뜻인데 기본값이 viridis라고 한다. 실제로 색이 비슷한걸 보니 그런것 같다 This parameter is ignored if X is RGB(A). 마지막에 이런 문장이 있는데, X가 RGB image면 cmap을 무시한다고 한다 channel 3인 gray image로 줬을 때는 cmap을 안줘도 gray로 잘 나온다

2024. 4. 22. 23:24

gray image의 channel은 1이 아니다

그냥 channel이 1이면 gray image이고 channel이 3이면 color image다 라고 생각해왔는데... 파이썬으로 gray image를 불렀을때 channel이 3인데 gray로 나오는 것 보고 갑자기 궁금증이 생겼다 핵심은 image의 channel이 3이면 각각 R,G,B pixel의 value값을 나타내는데, 이들이 합쳐져서 color image가 나온다. 그런데 R,G,B pixel의 value가 모두 동일하면 gray image가 나온다 먼저 color image를 보면 Image.open으로 열어서 torchvision.transforms.ToTensor()로 tensor로 바꾸면 from PIL import Image from torchvision import dataset..

2024. 4. 22. 02:43

딥러닝 중 UnidentifiedImageError: cannot identify image file 의 에러가 나올때

dataloader에서 이미지를 뽑아 모델에 넣어 성능 평가를 하려고 하는데.. PIL.UnidentifiedImageError: cannot identify image file 이런 에러가 나는데 /content/notMNIST_large/D/VHJhbnNpdCBCb2xkLnR0Zg==.png 파일에 무슨 문제가 있는 것이 아닐까? 생각을 해봤다 os.listdir로 일단 파일이 실제 있는지 확인을 해본다 그래서 PIL.Image.open을 이용해서 open을 해보려고 하면 다른 파일로 한번 open을 해보면 문제 없이 열리긴 한다 파일이 있다는 것은 확인했는데.. 안열린다면.. 그 파일이 문제겠지 os.path.getsize()는 해당 경로의 파일의 용량을 알려준다 0바이트라 데이터 파일이 깨져있나보..

2024. 4. 22. 01:49

Unity 기본8 - C# 사용자 정의 함수 사용법

읽기 편한 코드를 위해 기능을 나눠서 쪼갠다 반복해서 실행시킬 부분을 쪼갠다 1. 함수의 선언 함수의 실행이 끝나고 모든 계산이 끝난 결과 리턴할 값의 데이터 타입을 알려줘야한다. (함수의 리턴 타입) (함수명)(parameter) { 함수 내 실행 명령 } int Square(int x){ } 근데 이렇게만 쓰면, 리턴 타입이 int인데 리턴이 없어서 다음과 같이 빨간줄 나온다 x*x를 return하도록 하면 빨간줄 없어짐 참고로 함수명은 대문자로 시작하는게 C#의 관습 2. 함수 사용 Square(10);해서 10을 인자로 넘겨주면, 함수 내에서 int x = 10;으로 사용해서 return x*x;로 x*x를 돌려준다 이 x라는 값은 이 함수 내에서만 사용된다 using System.Collecti..