반응형

다양한 방법을 해봤는데 어려운 내용이 많고 복잡한 것 같아 간단하게 정리해둔다.

 

우선 내pc의 설정을 들어가 아래 이미지와 같이 원격설정에 들어가준다.

 

그리고 아래와 같이 설정해준다.

 

 

 

다음은 방화벽 설정이다.

 

 

 

 

시작 부분에서 위와 같이 방화벽을 검색한 후 "방화벽 상태 확인" 실행

 

 

위와 같이 설정해준다.

 

다음은 인터넷 부분인데

와이파이 호스팅 주소로 들어가서 와이파이 설정에 들어가 DMZ에 현재 내 pc의 192주소를 입력해주면 된다.

 

고정 IP를 사용해야하는 것 아닌가 싶엇는데

유동으로 해도 일단은 잘 된다.

반응형
반응형

드라이버를 설치하는데 꽤 많은 시간을 쏟았다.

생각보다 쉬운 작업이 아니였고 우분투를 처음 접해보는 나로서는 굉장히 까다로운

작업이였다.

 

다양한 방법들을 시도해 보았으나 내가 성공한 방법을 간단하게 정리해두겠다.

 

우선은 윈도우 모드로 들어가 윈도우에 그래픽카드에 관한 드라이버를 설치한다.

(이 과정이 우분투에 드라이버를 설치하는데 영향이 있는지는 모르겠으나

  윈도우에서 드라이버를 설치한 후 우분투에서도 성공하였으므로 이렇게 적어두겠다.)

 

그 다음은 NVIDIA 홈페이지에서 드라이버를 다운받는다.

 

nvidia.com/Download/index.aspx?lang=en-us

 

본인의 그래픽카드에 적합한 드라이버를 다운로드 하는데 이 때 나의 경우 다운로드 된

파일은 .run 파일이였다.

그리고 다운로드된 .run파일을 좌측 <파일>아이콘을 클릭한 후 "홈" 부분에 복사하여 준다.

 

그리고 gedit 텍스트 편집기로 blacklist.conf 파일을 편집해준다.

 

위 과정을 위해 우분투의 메인 화면에서 ctrl + alt + t   를 동시에 눌러 터미널을 실행시킨 후

 

sudo gedit /etc/modprobe.d/blacklist.conf

 

를 입력해준다.

 

그리고 아래의 내용들을 추가해주면 된다.

 

blacklist amd76x_edac      ///  나의 경우 이 부분은 이미 작성되어 있었기에 따로 추가해주지 않았다.

blacklist vga16fb

blacklist nouveau

blacklist rivafb

blacklist nvidiafb

blacklist rivatv

 

작성이 완료되었으면 gedit 프로그램에서 저장버튼(혹은 ctrl+s) 을 누르고 닫아준다.

 

그리고 NVIDIA의 모든 패키지를 삭제해준다.

 

이 과정은 위의 sudo gedit /etc/modprobe..... 를 진행했던 창에서

작성하여 진행하여 주면 된다.

 

sudo apt=get remove --purge nvidia*

(purge 앞에 -가 2개 있음을 주의하자)

 

이 과정까지 완료되었으면 디스플레이 매니저 사용을 중지시켜준다.

NVIDIA 드라이버 설치를 위해서는 종료해야 하며 지금까지 작성하였던 터미널을 사용하면 안된다.

 

GUI와 관계없는 터미널을 생성해 주기 위하여 ctrl + alt + F1  을 눌러준다.

(ctrl + alt + F7 을 누르면 원상태로 돌아온다.)

 

그리고 디스플레이 매니저 사용을 중지시키기 위하여 lightdm을 중지시키는 문장을 작성해준다.

(lightdm은 우분투에 최초로 설치된 디스플레이 매니저이다.)

 

sudo service lightdm stop

 

그리고 위에서 다운로드 된 파일을 실행 가능한 상태로 변경한다.

 

chmod +x NVIDIA_Linux-x86_64-435.21.run

 

마지막으로 run 파일을 실행시킨다.

 

sudo ./NVIDIA_Linux-x86_64-435.21.run

 

위의 코드를 입력하게 되면 여러 창이 나오게 되는데 모두 YES 를 눌러 통과시켜 주면 된다.

 

 

그리고 설치가 완료되었으면 아래 코드를 입력해주어 디스플레이 매니저를 다시 시작하여 준다.

 

sudo service lightdm start

 

마지막으로 그래픽모드로 전환(ctlr + alt + F7) 을 해주면 끝!!

 

 

드라이버가 제대로 설치되었는지는

 

nvidia-smi

 

를 입력해보면 알 수 있을 것이다.

 

 

 

 

 

 

반응형
반응형

문제는 노트북에 우분투를 설치하였는데 와이파이를 잡지 못한다는 것이였다.

(우측 상단의; 인터넷 표시 아이콘을 눌러도 와이파이에 관련된 내용이 나타나지 않았다)

 

원래 데스크탑에 우분투를 설치한 후 랜선을 데탑에 연결하여 계속 사용하고 있었으므로

 

우분투에서 와이파이를 연결할 일이 크게 없었는데 이번에 노트북에 우분투를 설치하면서

 

와이파이를 사용하기 위해서는 따로 드라이버를 설치하여야 한다는 것을 알았다.

 

다양한 방법을 시도해봤고 최종적으로 성공한 방법만 작성해두어야겠다.

 

https://askubuntu.com/questions/1071299/how-to-install-wi-fi-driver-for-realtek-rtl8821ce-on-ubuntu-18-04

(위의 링크를 참고하여 진행하였다.)

 

 

 

 

How to install Wi-Fi driver for Realtek RTL8821CE on Ubuntu 18.04?

I'm trying to install drivers for my Wifi on my HP All-in-one desktop. I've been told to show the output of the command "sudo lshw -C network" so here it is: *-network description: Ethernet interf...

askubuntu.com

 

 

 

 

sudo lshw -c network

우선 내 PC 무선랜의 카드정보를 보기 위하여

$ sudo lshw -c network

 

를 입력하였고 위와 같이 출력되는것을 확인할 수 있었다.

 

아무래도 위에 나오는 *-network 부분이 이더넷 인터페이스로

뭐 랜선을 꽂았을때 관련된 부분인 듯 싶고

 

아래의 *-network UNCLAIMED  부분이 무선인터넷 접속에 관한

부분인 것 같다(확실하진 않다)

 

그리고 아래 UNCLAIMED 된 부분을 보면 Product부분에 RTL8821CE ......  Wireless Network Adapter 을

확인할 수 있었고 그에따라 구글에 RTL8821CE Driver Ubuntu  를 검색하여 다운로드 함으로서

문제를 해결할 수 있었다.

 

과정은 다음의 코드들을 입력하여 진행하였다.

 

$ sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)

 

$ git clone https://github.com/tomaspinho/rtl8821ce

 

Build software better, together

GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

 

$ cd rtl9921ce

 

$ chmod +x dkms-install.sh

 

$ chmod +x dkms-remove.sh

 

$ sudo ./dkms-install.sh

 

 

위의 코드들을 입력하고 난 후 다시 우측 상단의 인터넷 표시 아이콘을 클릭해보니

와이파이 목록들이 뜨면서 연결할 수 있는 상태가 된 것을 확인할 수 있었다.

반응형
반응형

우분투를 듀얼부팅으로 설치하였다가 가상환경으로 설치해주기 위해 기존에 우분투가 설치되어 있던

파티션을 삭제해 주었다.

 

https://jimnong.tistory.com/677

 

우분투 삭제 방법(듀얼부팅에서 윈도우만 남기기)

우분투 리눅스 다운로드 방법(Desktop 버전) 우분투 리눅스 설치용 USB 만드는 법(윈도우에서) 우분투 리눅스 설치용 USB 만드는 법(Ubuntu 16.04 에서) 우분투 리눅스 듀얼부팅 설치방법 정리(윈도우10 기준) 에..

jimnong.tistory.com

위의 블로그 내용에서 1-1 과정을 진행하여 해당 파티션을 삭제해주고 가장 위에 보이는 캡쳐화면과 같이

해당 파티션이 "할당되지 않음"으로 표시되는 것을 확인할 수 있었다.

 

하지만 위와 같이 C드라이브에 대해 "볼륨확장"이 진행되지 않아 할당되지 않은 파티션을

C드라이브로 추가하지 못하는 상황이 발생.

 

https://www.diskpart.com/download-home.html

 

Download Magic Free Partition Manager Software - AOMEI Partition Assistant Standard

Thanks for Downloading AOMEI Partition Assistant Standard Please wait, your download is processing Want to make a backup of your important data before or after partitioning your hard disk? Try our award-winning FREE backup software - AOMEI Backupper Standa

www.diskpart.com

위의 링크에서

AOMEI Partition Assistant Standard Edition 을 다운로드 받아서 실행시키자.

 

다운받아 실행시키면 위와 같은 창이 뜨는걸 확인할 수 있다.

 

"할당되지 않음" 으로 표시되던 파티션을 우클릭하여 Merge Partition을 클릭하여

C드라이브와 병합시킬 수 있도록 해준다.

 

여기까지 진행하였다고 아직 파티션이 합쳐진 것은 아니다.

우측 상단의 Apply 를 클릭하여 적용시켜 준다.

 

반응형
반응형

우선 QT Designer을 사용하여 Widget을 하나 만들고

pyqtgraph를 통해 그래프를 하나 그릴 수 있는 환경을 만든다.

 

 

과정은 간단하다.

 

ticks 에는 (0, 'A'), (1, 'B'), (2, 'C'), ...   이러한 형식으로 데이터가 들어가게 된다.

 

QT Designer에서 만든 Widget(pyqtgraph)의 'bottom'축을 받아와 xax에 저장해주고

받아온 x축의 이름을 앞에서 만든 ticks로 바꿔준다.

 

그럼 해당 숫자에 해당되는 자리에 문자로 표시되게 된다.

 

이를 좀 더 이쁘게 써보자.

 

결론적으로 x데이터는 숫자여야 한다.

문자로 표시가 되어도 결국엔 숫자가 들어있어야 한다.

 

그래서 x데이터를 문자로 입력하게되면

x데이터를 문자의 갯수로 변경해주고

setTick을 통해 다시 문자로 표시될 수 있도록 변경해준다.

반응형

'이것저것' 카테고리의 다른 글

Ubuntu에서 WiFi연결(hp노트북, rtl8821ce)  (1) 2020.12.29
윈도우 파티션 합치기  (0) 2020.12.29
calibration  (0) 2020.03.20
Visual Studio 에서 scanf 오류날때(C4996)  (0) 2019.09.15
티스토리에서 수식 입력하기  (0) 2019.08.13
반응형

https://darkpgmr.tistory.com/32

 

카메라 캘리브레이션 (Camera Calibration)

카메라 캘리브레이션 (camera calibration)은 영상처리, 컴퓨터 비전 분야에서 번거롭지만 꼭 필요한 과정중의 하나입니다. 본 포스팅에서는 카메라 캘리브레이션의 개념, 카메라 내부 파라미터, 외부 파라미터,..

darkpgmr.tistory.com

 

 

우리가 실제 눈으로 보는 세상은 3차원이다.

3차원 공간에 한 물체가 있다고 하자.

하지만 이를 카메라로 찍으면 2차원을 나타내어지게 되고

기하학적으로 보면 사진을 찍을 때 카메라의 위치 및 방향을 고려하면

해당 물체의 3차원에서의 위치를 알 수 있다.

 

하지만 실제 이미지는 사용되는 렌즈, 렌즈와 이미지센서와의 거리, 렌즈와 이미지 센서와의 각도 등

카메라의 내부적인 부분에 의해 크게 영향을 받게되고 이러한 내부적인 요인들을 제거해야

정확한 계산이 가능해진다.

 

이렇게 내부 파라미터 값을 구하는 과정을 카메라 캘리브레이션이라고 한다.

 

 

 

카메라 영상은 3차원 공간상의 점들을 2차원 이미지 평면에 투사함으로서 얻어지는데

핀홀(pinhole)카메라 모델에서 이러한 변환 관계는 다음과 같이 모델링됩니다.

 

여기서 (X, Y, Z)는 월드좌표계 에서의 3D상의 물체의 좌표, [R|t] 는 월드 좌표계를

카메라 좌표계로 변환시키기 위한 회전/이동변환 행렬(외부 파라미터)이며

A는 intrinsic camera matrix 즉 카메라의 내부 파라미터에 대한 행렬이다.

 

 

 

즉 3D의 공간좌표와 2D 영상좌표 사이의 변환관계를 나타내는 파라미터를 찾는 과정을

캘리브레이션 과정이라 할 수 있다.

 

내부 파라미터의 fx, fy 값들은 초점거리를 나타내고

cx, cy는 주점(principle point)

skew_x = tan(alpha) 로 비대칭계수를 나타내게 된다.

 

 

 

1.  초점거리(focal length)

          : 렌즈 중심과 이미지센서(CCD, CMOS 등)와의 거리를 의미하며 카메라 모델에서 초점거리(f)는

픽셀단위로 표현되게 된다.

컴퓨터 비전 분야에서 초점거리를 픽셀단위로 나타내는 이유는 이미지픽셀과 동일한 단위로 초점거리를

표현함으로서 영상에서의 기하학적 해석을 용이하게 하기 위함이다.

 

그럼 초점거리는 위의 그림과 같이 길이로 나타내어지는데 왜 값이 fx, fy로 표현되는 것일까

길이는 하나의 값만 갖게 되는데 왜 fx와 fy의 2개로 나뉘게 되는 것인가.

 

위에서 얘기하였듯 초점 거리는 이미지센서의 픽셀에 대하여 상대적으로 나타내기 위하여 단위를 픽셀로

나타내게 된다.

 

이는 이미지센서가 정확히 정사각형이 아닐 수 있기 때문이다.

따라서 이미지 센서의 픽셀 가로 세로 크기가 다르다면 이에 맞추어 상대적으로 초점거리를 나타내게 된다.

(아직 확실하진 않지만 fx는 이미지 픽셀의 가로에 대하여 초점거리가 몇 픽셀인지

fy는 이미지 센서 픽셀의 세로에 대하여 초점거리가 몇 픽셀인지 나타내어지는 것 같다.)

하지만 요즘 카메라는 정사각형의 픽셀을 갖기 떄문에 f=fx=fy로 볼 수 있다고 한다.

 

 

추가적으로 카메라 좌표예 위의 한 점 (Xc, Yc, Zc)를 영상좌표에 투영해주게 되는 과정에서

 

위의 그림과 같이 초점에서 부터 길이가 1인(이때의 단위는 상대적인 것이다) normalized image plane을 생성하게 되면

(이떄의 normalized image plane은 실제로 존재하는 것이 아닌 계산을 위한 가상의 면이다)

카메라 좌표계에서의 좌표 (Xc, Yc) 를 Zc의 값으로 나눠주게 된다.

 

따라서 x와 y의 비율은 동일하지만 더 작아진 값이 투영되게 된다.

그리고 여기에 초점거리 f를 곱해주게 되면 우리가 원하는 이미지 평면에서의 영상좌표가 나오게 된다.

 

그런데 이미지에서 픽셀의 좌표는 이미지 중심이 아닌 이미지의 좌상단 모서리를 기준(원점)으로 하기 때문에 최종적인

영상 좌표는 여기에 (cx, cy)값을 더해주게 된다.

 

동일한 장면을 동일한 위치에서 동일한 각도로 찍더라도 사용한 카메라, 카메라의 셋팅에 따라서 서로 다른 영상을

얻게 된다. 이러한 카메라간의 차이는 일관적인 기하학적(geometry) 해석을 하는데 불필요한 요소가 되고 따라서

이러한 요소들을 제거하여 정규화된 이미지 평면에서 공통된 기하학적 특성을 분석하기 위해 카메라의 내부 파라미터들의 영향을 없애주기 위해 위와 같은 normalized plane을 통해 작업을 진행한다.

 

 

 

 

2. 주점(principle point)

 

        주점 cx와 cy는 카메라 렌즈의 중심 즉, 핀홀에서 이미지 센서에 내린 수선의 발의 영상좌표로서 일반적으로 

얘기하는 영상의 중심점(image center)과는 다른 의미입니다.

 

 

 

3. 비대칭 계수(skew coefficient)

 

      비대친계수 skew_c  는 이미지 센서의 cell array의 y축이 기울어진 정도를 나타낸다.

 

 

 

위의 사진에서 alpha값에 해당하고 (skew_c = tan(alpha) 가 된다.

 

하지만 요즘의 카메라는 비대칭계수가 거의 없기 떄문에 카메라 모델에서 보통 비대칭 계수까지 고려하지 않는다고 한다.(skew_c=0)

 

 

 

캘리브레이션 결과

반응형
반응형

이번에 pc를 초기화 한 이후 비주얼스튜디오를 새로 깔아놨다.

 

그리고 좀 써보려고 하는데 scanf를 사용하는 부분에서 에러가 발생하면서

 

에러코드 C4996

'scanf': This function or variable my be unsafe.  라는 에러를 나타내게 되었다.

 

그리고 이어지는 설명에서 보이듯 scanf대신 scanf_s  를 사용하거나 

_CRT_SECURE_NO_WARNINGS  를 사용하라고 나와있는데 나는 지금껏 scanf를 사용해 왔으니

갑자기 scanf_s 를 사용하게 되면 굉장히 불편할 것 같아서 두번째 방법을 사용하기로 하였다.

 

 

 


위의 사진에서와 같이 프로젝트의 이름을 우클릭 하게 되면 가장 아래에 속성을 조정할 수 있는 부분을 확인할 수 있다.

 

속성창에 들어가게 되면

위와 같은 창을 확인할 수 있고 사진과 같이 좌측의 C/C++  에서 "전처리기" 부분에 들어가준다.

 

그리고 전처리기 정의에서 가장 뒤에 " ; " 를 사용하여 앞의 문장과 구분을 지어준 후

 

_CRT_SECURE_NO_WARNINGS;   를 써준 후 확인 및 적용을 눌러준다.

 

 

조금 더 간단한 방법이 있긴 한데

 

위와 같이 C/C++ 부분의 "일반"  에서  "SDL 검사"  를  "아니요(/sdl-)"   로 변경해 주면 된다.

반응형

'이것저것' 카테고리의 다른 글

윈도우 파티션 합치기  (0) 2020.12.29
pyqtgraph(파이썬)로 그래프 그릴때 x축 문자열로 출력하기  (0) 2020.11.14
calibration  (0) 2020.03.20
티스토리에서 수식 입력하기  (0) 2019.08.13
회전행렬 증명  (0) 2019.08.12
반응형

블로그에서 아무대로 수식을 쓸 일이 많은데 티스토리 블로그에서 수식을 작성한다는 것은

꽤나 불편한 일이였다.

 

그래서 구글에 검색해본 결과 쉽게 문제를 해결할 수 있었고 그 중 방법 한가지를 정리해두려한다.

 

우선 티스토리 관리 페이지의 "꾸미기"에서 "스킨 편집"으로 들어가  html을 직접 수정해야 한다.

 

그리고 <head> 와 </head> 태그 사이에 다음 코드를 작성하면 된다.

 

<script type = "text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=
TeX-MML-AM_CHTML">
</script>

 

 

그럼 R markdown 에서 사용하는 수식의 문법을 그대로 이용할 수 있게 된다.

 

이 문법은 $$로 수식의 시작과 끝을 나타내는데, 예를들어 제곱근을 나타내고 싶다면 다음과 같이

작성하면 된다.

 

$$\sqrt{b^2-4ac}$$

 

반응형

+ Recent posts