목록기술 - Coding (16)
Rucrazia's Blog
대학 병원에서 환자에게 사용할 목적으로 Depth camera를 Python 기반의 프로그램에서 구동이 필요했습니다. 저희가 사용하는 카메라로는 Orrbec 사에서 만든 Astra S 입니다. Astra S는 비싼 Depth 카메라의 저렴한 버전으로 쓰이고 있습니다. 기본 SDK가 OpenNI2를 base로 되어 있으며 C++, Java 기반으로 되어 있습니다. 홈페이지에는 Python에 대한 SDK도 지원하지만 Beta 버전이고 최신 버전 카메라만 지원하기 때문에 저희가 사용하는 Astra S는 사용할 수 없습니다. 해당 SDK를 실행해보면 계속 USB Connection 에러와 uid를 찾을 수 없다는 에러가 나옵니다. Astra S의 경우 Python은 OpenNI2를 사용해서 구동해야 합니다. O..
Tensorflow 2 버전을 쓰면서 아래 코드에서 에러가 나온다면 다른 버전으로 까는 것을 추천합니다. logs = tmp_logs end_step = step + data_handler.step_increment callbacks.on_train_batch_end(end_step, logs) epoch_logs = copy.copy(logs) UnboundLocalError: local variable 'logs' referenced before assignment 저는 2.2.0 버전을 사용하고 있었는데 GPU를 쓰는 모델을 돌리면서 이러한 에러를 보게 되었습니다. tensorflow github에 들어가 보니 최신 버전에서는 code가 수정되어 있었습니다. 그래서 가장 신버전인 2.1.1 버전으로..
1. Python 설치 (3.5버전 - 같이 쓰는 프로그램 등의 호환성 문제로 3.5버전 설치.) https://www.python.org/downloads/release/python-354/ 본인의 컴퓨터에 해당하는 파일 설치. windows이면 windows x86-64 executable installer 또는 windows x86 executable installer 설치 권장(실행파일로 되어 있어서 설치가 쉽다.). 전자는 64bit 파일이며, 후자는 32bit 용 파일이다. 2. Pycharm 설치 https://www.jetbrains.com/pycharm/download/#section=windows 커뮤니티(무료 버전) 설치. 기본적인 개발을 하는데는 커뮤니티만으로 해도 충분하다. 3. ..
JAVAFX를 이용해서 printer를 제어하는 것은 어려우면서도 쉽습니다. 한 장의 이미지만 인쇄하는 것은 많은 예제가 나와있는데, 여러개를 인쇄하는 방법은 찾기 어려웠습니다. 밑에 부분 코드가 Print를 하게되는 직접적인 코드입니다. job.printPage(pageLayout, node.get(i))를 통해 print 할 콘텐츠를 넣게 됩니다. 테스트용 코드로 했기 때문에, 간단하게 2장을 한번에 인쇄하기 위하여 for문을 이용해서 print 작업을 넣었습니다. if (proceed) { for(int i =0; i
package Naver; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; /** /** * Created by rucrazia on 2017-08-01. */ public class NaverNewsApi { // https://developers.naver.com/docs/search/news/ public static void main(String[] args) { String clientId = "~~";//애플리케이션 클라..
for-each loop 문법은 for(array타입 : array이름) 명령어 e.g. double[] a = new double[]; for (double element : a) sum += element 위의 것은 아래와 동일하다. double[] a = new double[]; for (int i = 0; i
Parent Pane에 사이즈를 맞추려면 AnchorPane을 Parent Pane으로 해서 만든 다음에 안에 있는 Children Pane에 AnchorPane.leftAnchor = 0 과 같이 해주면 된다. 참고로 AnchorPane.leftAnchor = 0 는 Parent Pane인 AnchorPane의 왼쪽에 사이즈를 맞춘다 라는 의미이다.
String filename = "Report.docx"; String workingDirectory = System.getProperty("user.dir"); String absoluteFilePath = ""; absoluteFilePath = workingDirectory + File.separator + filename;InputStream doc = new FileInputStream(new File(docPath)); File 경로로 현재 작업하고 있는 프로젝트의 파일을 지정하고 싶을 때는, 위와 같이 System.getProperty("user.dir"); 로 작업 경로를 가져오고 File.separator로 작업 경로와 파일명 사이에 "\\" (windows), "/"(mac or lin..
TABLEVIEW table.setEditable(true); TableColumn additionalCol = new TableColumn("썸네일"); additionalCol.setCellValueFactory(new PropertyValueFactory("image")); TableColumn countNumber = new TableColumn("이름"); countNumber.setCellValueFactory( new PropertyValueFactory("name")); TableColumn exposureYear = new TableColumn("번호"); exposureYear.setCellValueFactory( new PropertyValueFactory("number")); Tab..
//그냥 버튼 만들기 Button button2 = new Button("Accept"); //이미지와 글씨를 동시에 사용하는 버튼 Image imageOk = new Image(getClass().getResourceAsStream("ok.png")); Button button3 = new Button("Accept", new ImageView(imageOk)); 만약 FXML을 이용한다면! Scene Builder에 들어가면 화면의 왼쪽에 이렇게 있습니다. 거기서 Controls 안에 들어가면 Button이 있는데, 여기서 Button을 드래그&드롭을 이용해서 작업화면에 떨어뜨려 주면 됩니다. 그러면 아래처럼 버튼이 생깁니다.(임의로 New...라고 적었습니다.) 만약 저 버튼을 눌러서 글씨를 바꿨는..