'Programming'에 해당되는 글 1747건

  1. 2021.02.23 qt5 fb reset
  2. 2021.02.17 strptime
  3. 2021.02.09 qt framebuffer에 출력하기
  4. 2021.01.14 opencv-3.4.0 어플리케이션 빌드
  5. 2021.01.06 c# named argument
  6. 2020.12.03 아.. 이놈의 인코딩..
  7. 2020.11.26 c# vertical tab
  8. 2020.11.25 c# rest API client
  9. 2020.11.24 c# telnet, ssh client
  10. 2020.11.19 c# winform double buffer 2
Programming/qt2021. 2. 23. 13:56

, 인줄 알았는데 : 로 해주어야 하네

QT_QPA_PLATFORM=linuxfb:fb=/dev/fb1:nographicsmodeswitch ./qt_app

 

nographicsmodeswitch Specifies not to switch the virtual terminal to graphics mode (KD_GRAPHICS). Typically, enabling graphics mode disables the blinking cursor and screen blanking. However, when this parameter is set, those two features are also skipped.

[링크 : https://doc.qt.io/qt-5/embedded-linux.html]

 

export QWS_DISPLAY="<driver>[:<driver specific options>]...
          [:<display num>]"

[링크 : https://qt.developpez.com/doc/4.7/qt-embedded-displaymanagement/]

'Programming > qt' 카테고리의 다른 글

qt 변수 초기화 문법, cpp 초기화 리스트  (0) 2021.12.08
qt framebuffer에 출력하기  (0) 2021.02.09
qt - ts / qm  (0) 2015.02.24
qt 5.3 cross compile 조사  (0) 2015.01.21
qt 4.x/5.x INSTALL_PATH  (0) 2015.01.20
Posted by 구차니
Programming/C Win32 MFC2021. 2. 17. 18:05

x86이나 다른데서 해봐야지.. __USE_XOPEN을 안써서 정상 작동을 안한건지

그게 아니라면 c 라이브러리를 생성할때 해당 옵션을 주고 하지 않아서 정상 작동을 하지 않은건지 모르겠다.

 

#ifdef __USE_XOPEN
/* Parse S according to FORMAT and store binary time information in TP.
   The return value is a pointer to the first unparsed character in S.  */
extern char *strptime (const char *__restrict __s,
                       const char *__restrict __fmt, struct tm *__tp)
     __THROW;
#endif

[링크 : https://stackoverflow.com/questions/3053999/c-convert-time-t-to-string-with-format-yyyy-mm-dd-hhmmss]

[링크 : https://man7.org/linux/man-pages/man3/strftime.3.html]

[링크 : https://man7.org/linux/man-pages/man3/strptime.3.html]

[링크 : https://www.it-note.kr/143]

'Programming > C Win32 MFC' 카테고리의 다른 글

vs2019 sdi , mdi 프로젝트 생성하기  (0) 2021.07.08
vkey win32 / linux  (0) 2021.04.30
while(-1) 이 될까?  (0) 2019.05.24
c언어용 JSON 라이브러리 목록  (0) 2018.10.23
uuid in c  (0) 2018.10.22
Posted by 구차니
Programming/qt2021. 2. 9. 20:12

qt 라이브러리를 빌드할때(프로그램 말고) 옵션을 넣어주면 된다고 하는데

그거 까진 모르겠고 QT_QPA_PLATFORM 변수를 이용해서 driver:path 식으로 설정하면 나온다.

 

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb1

[링크 : http://jumpnowtek.com/rpi/pitft-displays-and-qt5.html]

[링크 : http://stackoverflow.com/questions/56601993/how-to-rotate-a-qt5-application-using-the-linux-framebuffer]

[링크 : http://doc.qt.io/archives/qt-5.6/embedded-linux.html]

[링크 : https://doc.qt.io/qt-5/embedded-linux.html]

'Programming > qt' 카테고리의 다른 글

qt 변수 초기화 문법, cpp 초기화 리스트  (0) 2021.12.08
qt5 fb reset  (0) 2021.02.23
qt - ts / qm  (0) 2015.02.24
qt 5.3 cross compile 조사  (0) 2015.01.21
qt 4.x/5.x INSTALL_PATH  (0) 2015.01.20
Posted by 구차니
Programming/openCV2021. 1. 14. 17:23

오랫만에 빌드하니 다 까먹었네 -_ㅠ

 

g++ myprog.cpp -lopencv_core -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -o myprog

[링크 : https://answers.opencv.org/question/165673]

 

 

아놔.. 에러 뿜뿜 -_-

/usr/bin/ld: warning: libopencv_imgproc.so.3.4, needed by //usr/local/lib/libopencv_dnn.so, may conflict with libopencv_imgproc.so.3.2
/usr/bin/ld: warning: libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_dnn.so, may conflict with libopencv_core.so.3.2
/usr/bin/ld: /tmp/cc64nD60.o: undefined reference to symbol '_ZNK2cv3Mat5emptyEv'
/usr/bin/ld: //usr/local/lib/libopencv_core.so.3.4: error adding symbols: DSO missing from command line

 

+

아무튼 라즈베리 3B 에서 하는데

3.2.0이 설치되어 있고, 필요에 의해서 3.4.0을 빌드해서 설치했더니 3.2.0과 섞여서 난리가 났다.

그래서 -L 옵션을 통해 3.4.0이 설치된 곳을 우선적으로 보도록 해주니 문제없이 해결!

$ whereis libopencv_imgproc
libopencv_imgproc: /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.a /usr/local/lib/libopencv_imgproc.so

$ ls -al /usr/local/lib/libopencv_imgproc.so*
lrwxrwxrwx 1 root root      24 Jan 14 08:04 /usr/local/lib/libopencv_imgproc.so -> libopencv_imgproc.so.3.4
lrwxrwxrwx 1 root root      27 Jan 14 08:04 /usr/local/lib/libopencv_imgproc.so.3.4 -> libopencv_imgproc.so.3.4.13
-rw-r--r-- 1 root root 3292320 Jan 14 05:01 /usr/local/lib/libopencv_imgproc.so.3.4.13

$ ls -al /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so
lrwxrwxrwx 1 root root 24 Feb 12  2019 /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so -> libopencv_imgproc.so.3.2

$ g++ opencv_video.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib

 

 

 

 

MobileNet-SSD의 ssd_detect.cpp 빌드하려다가

아 몰라 대충 흑화중.. 후...

sudo apt-get install libcaffe-cpu-dev libcaffe-cpu1 libboost-all-dev libgflags-dev libgoogle-glog-dev libprotobuf-dev libopenblas-dev

$ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect
ssd_detect.cpp:15:10: fatal error: caffe/caffe.hpp: No such file or directory
 #include <caffe/caffe.hpp>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
pi@raspberrypi:~/src/MobileNet-SSD $ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect
In file included from /usr/include/caffe/blob.hpp:8,
                 from /usr/include/caffe/caffe.hpp:7,
                 from ssd_detect.cpp:15:
/usr/include/caffe/common.hpp:4:10: fatal error: boost/shared_ptr.hpp: No such file or directory
 #include <boost/shared_ptr.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

pi@raspberrypi:~/src/MobileNet-SSD $ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect
In file included from /usr/include/caffe/blob.hpp:8,
                 from /usr/include/caffe/caffe.hpp:7,
                 from ssd_detect.cpp:15:
/usr/include/caffe/common.hpp:5:10: fatal error: gflags/gflags.h: No such file or directory
 #include <gflags/gflags.h>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
$ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect
In file included from /usr/include/caffe/common.hpp:19,
                 from /usr/include/caffe/blob.hpp:8,
                 from /usr/include/caffe/caffe.hpp:7,
                 from ssd_detect.cpp:15:
/usr/include/caffe/util/device_alternate.hpp:34:10: fatal error: cublas_v2.h: No such file or directory
 #include <cublas_v2.h>
          ^~~~~~~~~~~~~
compilation terminated.

-DCPU_ONLY


 $ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect -DCPU_ONLY
In file included from /usr/include/caffe/util/math_functions.hpp:11,
                 from /usr/include/caffe/filler.hpp:13,
                 from /usr/include/caffe/caffe.hpp:9,
                 from ssd_detect.cpp:15:
/usr/include/caffe/util/mkl_alternate.hpp:14:10: fatal error: cblas.h: No such file or directory
 #include <cblas.h>
          ^~~~~~~~~
compilation terminated.

$ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect -DCPU_ONLY -lcaffe
/usr/bin/ld: /tmp/ccDNrn3i.o: undefined reference to symbol '_ZN6google4base21CheckOpMessageBuilder7ForVar2Ev'
/usr/bin/ld: //lib/arm-linux-gnueabihf/libglog.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status


$ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect -DCPU_ONLY -lcaffe -lglog
/usr/bin/ld: /tmp/ccO8VjqT.o: undefined reference to symbol '_ZN6google26ShowUsageWithFlagsRestrictEPKcS1_'
/usr/bin/ld: //lib/arm-linux-gnueabihf/libgflags.so.2.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status




$ g++ ssd_detect.cpp -lopencv_core -lopencv_dnn -lopencv_imgproc -lopencv_videoio -lopencv_highgui -lopencv_objdetect -lopencv_imgcodecs -L/usr/local/lib -o ssd_detect -DCPU_ONLY -lcaffe -lgflags -lglog
/usr/bin/ld: warning: libopencv_imgcodecs.so.3.2, needed by /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/libcaffe.so, may conflict with libopencv_imgcodecs.so.3.4
/usr/bin/ld: warning: libopencv_imgproc.so.3.2, needed by /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/libcaffe.so, may conflict with libopencv_imgproc.so.3.4
/usr/bin/ld: warning: libopencv_core.so.3.2, needed by /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/libcaffe.so, may conflict with libopencv_core.so.3.4

 

 

caffe 빌드

위에 lib들 설치하고 아래것 추가로 설치

sudo apt-get install protobuf-compiler libhdf5-dev liblmdb-dev libleveldb-dev libatlas-base-dev python-numpy

 

sudo apt-get install protobuf-compiler

[링크 : https://stackoverflow.com/questions/46698260/could-not-find-protobuf-compiler]

 

sudo apt-get install libhdf5-dev

[링크 : https://github.com/jcjohnson/torch-rnn/issues/121]

 

sudo apt-get install liblmdb-dev

[링크 : https://caffe.berkeleyvision.org/install_apt.html]

 

Could NOT find LevelDB

sudo apt-get install libleveldb-dev

 

Could NOT find Atlas

sudo apt-get install libatlas-base-dev

 

Could NOT find NumPy

sudo apt-get install python-numpy

[링크 : https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/306]

 

'Programming > openCV' 카테고리의 다른 글

cv2.imshow cv2.waitKey  (0) 2022.03.14
virtual mouse  (0) 2022.01.25
opencv face detect  (0) 2019.05.10
vscode python3 opencv lint  (0) 2019.05.10
opencv cannyedge  (0) 2019.01.16
Posted by 구차니
Programming/c# & winform2021. 1. 6. 12:31

자동 번역인진 모르겠지만 "명명된 인자" 라는 명칭으로 메소드 호출이나

객체 생성시 변수 순서와 상관없이 인자명칭을 직접 지정해서 호출 할 수 있는 문법

 

아래의 코드에서 Main() 안의 moto.Drive() 를 보면

원래 Drive() 메소드는 int miles, int speed로 선언되어 있으나

moto.Drive(speed: 60, miles: 170) 으로

선언된 인자와 다른 순서로 입력을 해주는 것을 볼 수 있다.

 

using System;

class TestMotorcycle : Motorcycle
{
   public override int Drive(int miles, int speed)
   {
      return (int) Math.Round( ((double)miles) / speed, 0);
   }

   public override double GetTopSpeed()
   {
      return 108.4;
   }

   static void Main()
   {

      TestMotorcycle moto = new TestMotorcycle();
      moto.StartEngine();
      moto.AddGas(15);
      var travelTime = moto.Drive(speed: 60, miles: 170);
      Console.WriteLine("Travel time: approx. {0} hours", travelTime);
   }
}
// The example displays the following output:
//      Travel time: approx. 3 hours

 

[링크 : https://docs.microsoft.com/en-us/dotnet/csharp/methods]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/csharp/methods]

'Programming > c# & winform' 카테고리의 다른 글

ansi escape code  (0) 2021.05.24
c# richtextbox 글씨 색상 입히기  (0) 2021.05.24
아.. 이놈의 인코딩..  (0) 2020.12.03
c# vertical tab  (0) 2020.11.26
c# rest API client  (0) 2020.11.25
Posted by 구차니
Programming/c# & winform2020. 12. 3. 13:57

byte[]를 string으로 바꾸어주는 함수들이 여러개가 있는데 자주 보이는 건 아래의 두개가 아닐까 생각된다.

하지만 둘 다 위험한 함수(?) 란 건 변하지 않는다.. ㅠㅠ

 

System.Text.Encoding.UTF8.GetString()

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.encoding.utf8?view=net-5.0]

 

System.Text.Encoding.ASCII.GetString()

ASCIIEncoding 는 오류 검색을 제공 하지 않습니다. 16 진수 0x7F 보다 큰 바이트는 유니코드 물음표 ("?")로 디코딩됩니다.

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.asciiencoding.getstring?view=net-5.0]

 

 

그러니까 char[]/byte[]를 함수들이 string으로 받는다고 변환해서 보내주면 개판을 친다는 의미

하다하다 안되서 혹시나 이상하게 보내오나 wireshark로 패킷을 보니 정상 -_-

 

아래 코드에 의해 byte[]를 string으로 변환하고 console 창으로 출력한 결과

ff d8 ff e0 00 10 4a 46 49 46 으로 시작하는 JPEG 헤더가

3f 3f 3f 3f 00 10 4a 46 49 46 으로 바뀌어 버렸다.

responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);

 

그러니까.. 바이너리 데이터는 꾿꾿이 byte[]로 주고 받아야 할 듯.. ㅠㅠ

'Programming > c# & winform' 카테고리의 다른 글

c# richtextbox 글씨 색상 입히기  (0) 2021.05.24
c# named argument  (0) 2021.01.06
c# vertical tab  (0) 2020.11.26
c# rest API client  (0) 2020.11.25
c# telnet, ssh client  (0) 2020.11.24
Posted by 구차니
Programming/c# & winform2020. 11. 26. 18:30

수직으로 손쉽게 돌아는 가는데

아쉽게도 탭내의 글씨도 세로로 써진다.

글씨는 가로로 쓰게 하는 법 없나?

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/desktop/winforms/controls/how-to-display-side-aligned-tabs-with-tabcontrol?view=netframeworkdesktop-4.8]

[링크 : https://stackoverflow.com/questions/8991507/c-sharp-vertical-tab-control]

'Programming > c# & winform' 카테고리의 다른 글

c# named argument  (0) 2021.01.06
아.. 이놈의 인코딩..  (0) 2020.12.03
c# rest API client  (0) 2020.11.25
c# telnet, ssh client  (0) 2020.11.24
c# winform double buffer  (2) 2020.11.19
Posted by 구차니
Programming/c# & winform2020. 11. 25. 14:04

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/csharp/tutorials/console-webapiclient]

[링크 : https://www.nuget.org/packages/Microsoft.Rest.ClientRuntime/]

 

[링크 : https://www.nuget.org/packages/WebAPIClient/]

 

'Programming > c# & winform' 카테고리의 다른 글

아.. 이놈의 인코딩..  (0) 2020.12.03
c# vertical tab  (0) 2020.11.26
c# telnet, ssh client  (0) 2020.11.24
c# winform double buffer  (2) 2020.11.19
c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
Posted by 구차니
Programming/c# & winform2020. 11. 24. 14:30

와... 이런것도 이렇게 손쉽게 구현이 가능하구나.. 멋진 세상이다..

 

[링크 : https://www.csharpstudy.com/net/article/16-SSH-클라이언트]

[링크 : https://stackoverrun.com/ko/q/11578482]

[링크 : https://stackoverrun.com/ko/q/1175870]

 

[링크 : https://www.nuget.org/packages/SSH.NET/]

[링크 : https://www.nuget.org/packages/Telnet/0.9.0-beta0001]

'Programming > c# & winform' 카테고리의 다른 글

c# vertical tab  (0) 2020.11.26
c# rest API client  (0) 2020.11.25
c# winform double buffer  (2) 2020.11.19
c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
c# label 오른쪽 정렬  (0) 2020.11.17
Posted by 구차니
Programming/c# & winform2020. 11. 19. 17:07

PictureBox 옮길때 두번 뜨는 경우가 있어서 문제가 덜해질까 하고 했는데

별반 차이가 없다.. ㅠㅠ

다른 좋은 방법이 없으려나?

 

[링크 : https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.doublebuffered]

[링크 : https://www.codeproject.com/Questions/1163589/How-can-I-refresh-image-in-picturebox-whitout-flic]

 

+ 2020.11.23

 

해도 효과는 없네.. 다른 것의 영향인가?

[링크 : http://blog.daum.net/chunildongan77/116]

[링크 : https://developer-joe.tistory.com/95]

 

패널에 그리거나 위에 패널을 더블버퍼링 하는게 답인가?

[링크 : https://stackoverflow.com/questions/53110668/moving-picture-box-fast-causes-flickering-c-sharp]

'Programming > c# & winform' 카테고리의 다른 글

c# rest API client  (0) 2020.11.25
c# telnet, ssh client  (0) 2020.11.24
c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
c# label 오른쪽 정렬  (0) 2020.11.17
c# winform button  (0) 2020.11.17
Posted by 구차니