본문 바로가기

전체 글605

7.c# 에서 탐지 위와 같이 새프로젝트를 만들고 픽처박스 하나와 버튼을 하나 추가한다.    Nuget 패키지 관리에 들어간다.  찾아보기에서 onnxruntime 으로 검색하면 위와 같이 나오는데 그중 onnxruntime 과 onnxruntime.extensions 를 설치한다.  System.Drawing.common 도 검색해서 설치한다.   using System;using System.Collections.Generic;using System.Drawing;using System.IO;using System.Linq;using System.Windows.Forms;using Microsoft.ML.OnnxRuntime;using Microsoft.ML.OnnxRuntime.Tensors;namespace onn.. 2025. 1. 22.
6.ONNX 모델 검증 파이썬에서 위와 같이 입력해서 output 값을 확인하자.import onnxruntimeimport numpy as np# ONNX 모델 로드onnx_model_path = "C:/Users/L/runs/detect/train/weights/best.onnx"session = onnxruntime.InferenceSession(onnx_model_path)# 입력 이름 확인input_name = session.get_inputs()[0].nameprint(f"Input name: {input_name}")# 출력 이름 확인output_names = [output.name for output in session.get_outputs()]print(f"Output names: {output_names}").. 2025. 1. 22.
5. ONNX 파일로 변환 https://docs.ultralytics.com/ko/integrations/onnx/#usage ONNXYOLO11 모델을 ONNX 형식으로 내보내서 향상된 성능으로 다양한 플랫폼에 유연하게 배포하는 방법을 알아보세요.docs.ultralytics.com   pt 파일을 onnx 파일로 변경하기 위해 위와 같이 작업을 진행한다.참고로 위와 같이 경로를 역슬래시를 쓸경우 오류가 나는데 역슬래시를 슬래시로 바꾸면 된다.---------------------------------------------------------------------------------------from ultralytics import YOLOmodel = YOLO("C:/Users/L/runs/detect/train/wei.. 2025. 1. 22.
4. labelimg 설치및 사용법 https://github.com/HumanSignal/labelImg GitHub - HumanSignal/labelImg: LabelImg is now part of the Label Studio community. The popular image annotation tool created byLabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open source ...github.com위 경로로 들어가자.   우측하단의 R.. 2025. 1. 22.
3.YOLO11 모델로 학습 데이터를 학습하기 위해 어떤 대상을 찾아낼지 먼저 선정한다.개인적으로 강아지를 찾아내기위해 강아지 사진을 백여장 수집했다.학습할때 내부적으로 자동으로 리사이징 하기 때문에 학습할 이미지의 크기나 비율은 통일할 필요는 없고 너무 과도하게 크지만 않으면 된다(GPU 메모리 이내).이미지 사이즈를 640x640 으로 통일하면 학습속도는 약간더 빠를수있지만 만들어진 모델을 사용할때 속도는 동일하다.    이미지를 학습할때 이미지 전체를 학습하는게 아닌 위 이미지와 같이 빡간네모박스 표시한 부분만 학습할 예정이다.위와 같이 전체이미지의 일부분만 학습하던지 아니면 이미지 전체를 학습한다해도 욜로로 학습시 이미지의 어느 위치에 어느정도 크기를 학습할지 내용을 전달해줄 텍스트파일이 필요하다. 위와 같은경우 txt 파일.. 2025. 1. 22.
2. ultralytics 설치 파이썬을 설치한뒤에 위와 같이 cmd 창에서  pip install ultralytics 을 입력해서  ultralytics 을 설치하자.    설치된뒤 cmd 창에서 위와같이 입력해서 제대로 설치됐는지 확인할수 있다.pythonfrom ultralytics import YOLOimport ultralyticsprint("Ultralytics YOLO version:", ultralytics.__version__) 파이썬을 실행해서 위와 같이 한줄씩 입력한뒤 Ultralytics YOLO version: 8.3.59이런내용이 나오면 정상적으로 설치된것이다.exit()로 종료하면 다시 cm 창으로 나갈수 있다. 2025. 1. 22.
1. 파이썬 설치 https://www.python.org/ Welcome to Python.orgThe official home of the Python Programming Languagewww.python.org인터넷에서 파이썬을 검색해서 공식 홈페이지로 들어간다.   메인 페이지에 다운로드가 있는데 다운로드 해서 파일을 받자.위와 같이 다운로드에 마우스를 올리면 창이 열리면서 받을수 있는 창이 뜨는데 Python. 3.13.1 되있는 버튼을 클릭해서 다운로드 하자.    위와 같이 다운 받아진 파일을 실행한다.     아래 항목두가지 다 체크하고 위쪽 Install Now 를 클릭하자.   위와 같이 완료되면 파이썬 설치가 완료 된 상태다.    cmd 창에서 위와 같이 입력해서 버전이 정상적으로 출력 되는지 확인.. 2025. 1. 22.
Yolo11 을 c# 에서 사용해보기 위한 내용정리 항목 (작업을 진행 하면서 계속 추가) 1. 파이썬 설치 - https://ldg119.tistory.com/7872. ultralytics 설치 - https://ldg119.tistory.com/7883. YOLO11 모델로 학습 - https://ldg119.tistory.com/7894. labelimg 설치및 사용법 - https://ldg119.tistory.com/7905. ONNX 파일로 변환 - https://ldg119.tistory.com/7916. ONNX 모델 검증 - https://ldg119.tistory.com/7927. C# 에서 탐지 - https://ldg119.tistory.com/7938.USB 카메라 (UVC 지원) 테스트 - 보류 2025. 1. 22.
아이템 등급별 이름 아이템 구분노멀익셥셔널엘리트단검대거포나이드본 나이프더크런들미스릴 포인트크리스싱쿠디아팽드 나이프블레이드스텔레토스파이크한손 검숏 소드글라디우스팰카타시미터커틀러스아타그한펄션털워하이드라 엣지크리스탈 소드디멘셔널 블레이드페이즈 블레이드브로드 소드배틀 소드컨퀘스트 소드롱소드룬 소드크립틱 소드워 소드에인션트 소드미지컬 소드양손 검투핸드 소드에스팬돈레전드 소드클레이모어다키안 파르크스하이랜드 블레이드자이언트 소드토스크 소드발록 블레이드바스타드 소드고딕 소드챔피언 소드플람베르쥬즈바이핸더콜로서스 소드그레이트 소드엑시큐셔너 소드콜로서스 블레이드한손 도끼핸드 엑스헤칫토마호크엑스클레버스몰 그레센트더블 엑스트윈 엑스에틴 엑스밀리터리 픽크로우 빌워 스파이크워 엑스네가버서커 엑스양손 도끼라지 엑스밀리터리 엑스페럴 엑스브로드 엑스비디어.. 2024. 9. 23.
디아블로2 레저렉션 카우방여는법 출처 - https://grandvert.tistory.com/693  카우방?!카우방은 원거리 공격이 없고 몹이 몰려있어 편한렙업+빠른파밍 던전입니다. 음메음메 농장이라고 귀엽게 번역해 놓긴 했는데 들어가면 소떼가 무우무우 거리면서 뛰어오는 던전입니다.  일반(노멀) 난이도를 바알까지 클리어하면 일반 난이도 카우방을 열수있습니다.악몽(나이트메어) 난이도를 바알까지 클리어하면 악몽 난이도 카우방을 열수있습니다.지옥(헬) 난이도를 바알까지 클리어하면 지옥 난이도 카우방을 열수있습니다. 카우방 가는방법 데커드 케인 아조씨를 구출했던 바위벌판의 트리스트럼에 갑니다.     트리스트럼 제일 왼쪽 위로 가면 워트의 시체가 있습니다. 시체를 클릭하면 금화와 워트의 의족이 드랍됩니다.   마을로 가서 포탈책 한권을 .. 2024. 9. 23.
팔라딘 방패 방패종류 방패옵션(흰색아이템이라도 붙을수 있음) 2024. 9. 23.
keyboard hooking keyhook class public class KeyHook { [DllImport("user32.dll")] static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc callback, IntPtr hInstance, uint threadId); [DllImport("user32.dll")] static extern bool UnhookWindowsHookEx(IntPtr hInstance); [DllImport("user32.dll")] static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, int wParam, IntPtr lParam); [DllImport("kernel32.. 2023. 9. 19.
[PostgreSQL] c# 연동 / 이미지저장 새프로젝트를 만들고 그림1과 같이 Nuget패키지관리자를 실행하자. 그림2와 같이 npgsql 을 검색해서 패키지를 설치하자. ( 이때 필요한 DLL 들이 전부 추가된다.) 설치를 누르면 그림3과 같이 필요한 내용들이 표시되고 설치되고 참조가 추가되게 된다. UI는 그림4와 같이 만들어줬다. using Npgsql; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namesp.. 2023. 3. 2.
[ Unity ] UI버튼 추가하는법 위와같이 해주면 작업영역에 UI 영역이 겹쳐서 정상적인상태로 보이게 된다. 2022. 12. 30.
[c#] 현재값과 가장 작으면서 근접하는 5의 배수 가져오기 int tempint = 27; double result = 0; if (tempint % 5 != 0) { result = Math.Floor(double.Parse(tempint.ToString()) / 5) * 5; } MessageBox.Show(result.ToString()); 5로나눠서 소수점을 버리고 다시 5를 곱하면된다. 2022. 11. 11.
[MySQL / MariaDB ] 테스트용 데이터 입력 WHILE CREATE DEFINER=`root`@`desktop` PROCEDURE `tproc`() BEGIN declare i int default 1; #i값 생성 while(i 2022. 10. 27.
[Java] The server time zone value 'KST' is unrecognized or represents more than one time zone. MySQL Connector/J 8.0을 사용하면 아래와 같은 에러가 나고 JDBC connection 이 실패하는 경우가 있다. Connector 5.1 에서는 시스템 기본 timezone 을 사용하므로 발생하지 않고 8부터 발생하는데 명시적으로 어떤 time zone 을 사용하는지 지정해 주어서 해결할 수 있다. String url = "jdbc:mysql://localhost/testdb"; 커넥션 문자열을 String url = "jdbc:mysql://localhost/testdb?serverTimezone=Asia/Seoul"; 이나 String url = "jdbc:mysql://localhost/testdb?serverTimezone=UTC"; 로 변경하여 사용하면 해당 에러를 없앨수 있다. 2022. 10. 13.
[Java] Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 위와 같은 에러가 나면서 시작되지 않을때는 Class.forName("com.mysql.jdbc.Driver"); 구문을 Class.forName("Com.mysql.cj.jdbc.Driver"); 로 변경해주면 된다. 2022. 10. 13.
[MySQL/MariaDB] 내DB 설치경로 확인하기 , 버전확인하기 show variables like 'datadir'; 위 쿼리문을 통해 현재 내 DB가 설치된 경로를 확인할 수 있다. select version(); 위쿼리를 통해 현재 버전을 확인할 수 있다. 2022. 10. 12.
[Oracle] ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다 오라클 12c부터는 공통계정앞에 c##을 붙이도록 네이밍 규칙이 바뀌습니다. C## 키워드가 붙는 이유는 12c 버전부터 등장하는 CDB, PDB 개념 때문이라고 합니다. 위와 같이 c## 을 붙여서 생성하면 제대로 생성이 됩니다. 하지만 권한을 주거나 접속할때도 모두 c## 을 붙여야 되서 상당히 귀찬은데 세션을 변경해주면 c## 을 붙여주지 않아도 됩니다. alter session set "_ORACLE_SCRIPT"=true; 위와 같이 세션을 변경하고 다시 만들어보면 c## 을 붙이지 않아도 생성이 가능합니다. 2022. 10. 7.
[PostgreSQL] 데이터베이스, 스키마, 테이블 목록 조회 SELECT datname FROM pg_database -- 전체 데이터베이스 조회 SELECT datname FROM pg_database WHERE datistemplate = false -- 사용자가 생성한 데이터베이스만 조회 select nspname from pg_catalog.pg_namespace -- 현재 db의 전체 스키마 조회 select tablename from pg_tables -- 전체 테이블 조회 2022. 10. 5.
[PostgreSQL] 데이터 타입 숫자 smallint 작은 범위의 정수, 2 bytes(-32768 ~ +32767) integer 정수에 대한 일반적인 선택, 4 bytes(-2147483648 ~ +2147483647) bigint 큰 범위의 정수, 8 bytes(-9223372036854775808 ~ 9223372036854775807) decimal 사용자 지정 정밀도, variable, 정확(제한 없음) numeric 사용자 지정 정밀도, variable, 정확(제한 없음) real 가변 정밀도, 부정확, 4 bytes(6자리 소수점 정밀도) double precision 가변 정밀도, 부정확, 8 bytes(15자리 소수점 정밀도) serial 자동 증가 정수, 4 bytes(1 ~ 2147483647) bigserial .. 2022. 10. 4.
[PostgreSQL] 반복문 쿼리 실행기에서 반복문을 사용하는 방법을 살펴보자.( 디비버 기준) 위 그림처럼 DO $$ 으로 시작하고 $$; 로 끝나는 구문 사이에 BEGIN END 로 묶어서 사용할 수 있다. 1 2 3 4 5 6 7 DO $$ BEGIN for i in 1..10000000 loop insert into testtable (testcol1,testcol2) values ('testdata1','testdata2'); end loop; END; $$; Colored by Color Scripter cs 예제에서는 천만건을 인서트했는데 말도안되게 빠른속도로 데이터가 들어가는것을 확인할 수 있다. 2022. 9. 30.
[PostgreSQL] 설치 (window) PostgreSQL 에 대해 알고 싶다면 다음 경로를 살펴보자. https://d2.naver.com/helloworld/227936 아래 홈페이지에서 설치 파일을 다운받는다. https://www.postgresql.org/ PostgreSQL The world's most advanced open source database. www.postgresql.org 위와같이 다운 받은 후 실행한다. 설치가 완료 된후 접속 테스트를 해보자 검색창에서 sql shell 을 검색하자 위 프로그램을 실행하면 아래와 같은 창이 나오는데 일단 계속 엔터를 입력하자 엔터를 계속 입력하다보면 다음과 같이 비밀번호를 입력하는 상태가 되는데 개인이 지정한 비밀번호를 입력해주자. 비밀번호를 입력하면 다음과 같이 창이 바뀐다... 2022. 9. 30.
[c#] Nlog 사용법 c# 에서 nlog 사용법을 올린다. ( https://nlog-project.org/ ) nuget 에서 nlog 검색해서 설치하면 되는데 설치하기 귀찬은사람은 첨부 파일을 받아서 참조만 추가해주면된다. 현재 최신버전인 5.0.4 버전이다. 참조된후 아래 코드로 테스트 해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 8.. 2022. 9. 23.
윈도우 실행파일 구조(PE파일) 출처 - https://rninche01.tistory.com/m/84 1. 윈도우 실행파일(PE파일) 개요 1.1 PE파일이란? PE(Portable Executable)파일은 윈도우 실행파일이라고 부르며 윈도우OS에서 사용되는 실행파일형식을 의미하며 UNIX의 COFF(Common Object File Format)을 기반으로 만들어졌다. windows 환경에 따라 다르게 부르는데 32bit환경에서는 PE32, 64bit환경에서는 PE+또는 PE32+라고 불린다. Linux나 Unix와 같은 계열의 환경에서는 PE파일과 비슷한 형식으로 ELF(Executable and Linkable Format)파일이 존재한다. PE파일을 통해서 프로그램이 사용하는 API 또는 DLL 등 다양한 정보와 어느 메모리.. 2022. 8. 26.
dll, exe 파일 비트 수 확인 하는 방법 https://www.extrabit.com/exeproperties/download 2022. 8. 22.
[Java] Java 자바 [예외 처리] - 예외 떠넘기기 throws 출처 - https://kephilab.tistory.com/83?category=395678 메소드 내부에서 예외가 발생할 수 있는 코드를 작성 시 try - catch 블록으로 예외를 처리하는 것이 기본이지만, 경우에 따라 메소드를 호출한 곳으로 예외를 떠넘길 수 있다. throws 키워드 : 메소드 선언부 끝에 작성, 메소드에서 처리하지 않은 예외를 호출한 곳으로 떠넘기는 역할을 한다. 형태 리턴타입 메소드명(매개변수선언1, . . . ) throws 예외클래스1, 예외클래스2, . . . { . . . } 발생할 수 있는 예외를 종류별로 throws 뒤에 나열하는 것이 일반적이지만, Exception (상위 예외 클래스) 만으로 모든 예외를 간단히 떠넘길 수 있다. 형태 리턴타입 메소드명(매개변수.. 2022. 8. 9.
Windows에서 프로그램별 네트워크 속도 조절하기 출처 - https://junhyeok.tistory.com/716 10년 가까이 Windows로 개인 서버를 운영해오면서 '이런게 있었어?'라고 새로운 개념을 알게 된 순간이 몇 번 있었다. DDNS나 포트포워딩, FTP, VPN, RDP 같은 네트워크의 기초적인 개념을 알게 되었던 순간, 서브소닉, 플렉스, KODI, Bubble UPNP 같은 스트리밍 프로그램을 알게 된 순간, 최근에는 실시간 방송을 볼 수 있게 해주는 TVHeadend나 무제한 용량의 구글 드라이브까지. 그 동안 서버 운영을 하면서 제일 신경쓰였던 부분 중 하나가 네트워크 대역폭이었다. 여러 사람이 동시에 스트리밍 정도만 이용한다면 큰 문제가 없지만 누군가 FTP를 이용한 파일 전송 같은 작업을 하게되면 대역폭을 혼자 다 써버려서.. 2022. 8. 8.
[Java] 서블릿과 JSP의 차이 출처 - https://steady-coding.tistory.com/463 서블릿과 JSP 사실 궁극적인 기능의 차이는 없습니다. 서블릿과 JSP 모두 Java를 이용하여 웹 페이지를 동적으로 생성하는 기능을 하기 때문이죠. 다만 역할의 차이가 있습니다. 이것은 글로 설명하기보다는 예시를 하나 들겠습니다. 회원 가입을 하고, 그 회원을 저장하고 조회하는 아주 작은 프로그램이 있다고 하겠습니다. 회원 가입 자체는 정적인 페이지가 대체하여도 무방하므로 회원 가입이후 생성된 유저의 정보를 보여주는 페이지를 만든다고 가정하겠습니다. 그렇다면, 서블릿으로 가입한 유저의 정보를 보여주는 코드를 아래처럼 작성할 수 있습니다. @WebServlet(name = "memberSaveServlet", urlPatter.. 2022. 7. 24.