Computer/Image processing
Converting Image
### Mat -> System.Drawing.Bitmap ### Mat mat = new Mat("foobar.jpg", ImreadModes.Color); Bitmap bitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat); ### System.Drawing.Bitmap -> Mat ### Bitmap bitmap = new Bitmap("foobar.jpg"); Mat mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bitmap); ### Mat -> byte[] ### Mat mat = new Mat("foobar.jpg", ImreadModes.Color); byte[] bytes1 = mat.To..
Computer/ETC
장치관리자에서 디바이스 이름 변경하기
컴퓨터를 사용하다보면 동일한 디바이스를 사용할때가 있다.그럴때! 장치관리자에서 동일하게 이름이 뜬다면, 당황스러울것이다. 자 그럼 장치관리자를 불러볼까?윈도우10은 돋보기에서 'devmgmt.msc' 윈도우8이하는 실행에서 'devmgmt.msc' 실행시키면 물론, 내컴퓨터-시스템으로 들어가서 장치관리자로 들어가도된다. 그럼 장치관리자 윈도우가 나타나면서, 연결된 디바이스를 볼수 있다. Razer Kiyo를 사용하는데, 같은 이름으로 나타나니 설정하기도 애매하고 On/Off 하기도 힘들다. 그래서!장치관리자에서 디바이스 이름 변경하기. 해보자. 1. 해당 디바이스에서 오른쪽마우스 클릭 후, [속성] 2. [속성]에서 [자세히] 탭으로 들어가서 '드라이버 키'를 눌러 '값'을 확인한다.3. 그리고 복사! ..
Computer/C#
Higherbit, Lowbit 합치기
비트 합치기 모드버스 값 받아올때, 조금 빠르게 하고 싶어서 만듬. 다음에 그냥 복사해서 써야지! public int modbusMake32(ushort Higherbit, ushort Lowbit) { int result = Higherbit; result = (result
Computer
Microsoft Public License (MS-PL)
Microsoft Public License (MS-PL)This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.1. Definitions The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any addi..
Computer/C#
[C#] serialPort, Delay
serialPort 리턴값 테스트 중 값을 보내고 아래 텍스트박스에 표시하는 중 바로 나타나지 않는 문제점이 있어서 딜레이가 필요했다. 대략 10ms 조금 부족하고 20ms 정도 딜레이를 주면 잘 되는것 같아 보였다. serialPort.Write 로 보내주고 딜레이! private static DateTime Delay(int MS) { DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); DateTime AfterWards = ThisMoment.Add(duration); while(AfterWards >= ThisMoment) { System.Windows.Forms.Application.DoEven..
Computer/ETC
정보처리 - 데이터베이스
릴레이션개체타입(Entity Type): 속성들로만 기술된 개체의 정의개체 어커런스(Occurence): 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체를 나타내는 것. 튜플과 같은 의미임튜플(Tuple): - 릴레이션을 구성하는 각각의 행 - 속성의 모임으로 구성된다. - 파일 구조에서 레코드와 같은 의미 - 카디널리티 = 튜플의 수 = 가수 = 대응 수속성(Attribute, 애튜리뷰트) - 데이터베이스를 구성하는 가장 작은 논리적 단위 - 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다. - 개체의 특성을 기술한다. - 디그리 = 속성의 수 = 차수도메인(Domain) - 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합 - 실제 애트리뷰트 값이 나타날 때..
Computer/C, CPP, MFC
ReadFile()
간단정리 RedFile(파일핸들, 저장버퍼 포인터, 읽어오는 바이트수,출력용인수, 비동기아니면 NULL) ReadFile() 파일에서 데이터를 읽어옴. 동기, 비동기 모두 사용가능함. 원형 BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); - HANDLE hFile: 읽고자 하는 파일의 핸들. 이 파일은 GENERIC_READ 액세스 권한으로 열어야 합니다. - LPVOID lpBuffer: 읽어 올 데이터를 저장할 버퍼의 포인터 입니다. - DWORD nNumberOfBytesToRead: 실제 읽어오는 바이트 수를 지..
Computer/C, CPP, MFC
SetFilePointer()
간단정보SetFilePointer(대상 파일의 핸들, 옮길 위치, NULL, 시작위치)파일을 처음 열었을때, 포인터의 위치는 파일의 처음, IO 처리에 따라 파일포인터가 자동으로 이동. SetFilePointer()파일 포인터를 원하는 위치로 옮길때 사용.32비트와 64비트를 동시에 지원하기 위해 2번째 인수와 3번째 인수를 통해 각 4바이트씩 64비트, 오프셋을 전달할수 있다.SetFilePointerEx 를 사용하는것이 좋다. 원형DWORD SetFilePointer( HANDLE hFile, LONG IDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod); - HANDLE hFile: 파일포인터를 옮기고자 하는 대상 파일의 핸들. - LO..
Computer/C, CPP, MFC
프로그램 종료
프로그래밍을 하던중 어떻게 하면 안전하게 프로그램을 종료할까 생각해보았다.바로 구글링 메모릭 발생 때문에..문제들이 대부분 발생하는것으로 보여지더라.. 아하! 그렇구나, 라고 다시 한번 느낀 후... 쓰던대로 그냥 'ExitProcess' 이거 사용하였다. 끝! 메인 다이얼로그::OnInitDialog()에서 프로그램을 종료하고 싶다.OnClose나 기타 메소드가 먹지 않거나 먹어도 메모리 충돌 오류메시지가 나온다.exit(0);를 넣어줘도 되나 비정상적인 terminated라 메모리 누수가 발생한다. 방법은 다음과 같다. ::SendMessage(this->m_hWnd, WM_CLOSE, NULL, NULL);혹은 ::SendMessage(GetSafeHwnd(), WM_CLOSE, NULL, NULL..