Programming/web 관련2024. 1. 23. 17:48

클릭하면 팝업이 뜨면서 배경은 흐리게 되는 그것!

애니메이션까지 전부 제공하네.. 우와

 

[링크 : https://getbootstrap.com/docs/4.0/components/modal/]

'Programming > web 관련' 카테고리의 다른 글

ajax session 인증  (0) 2024.01.26
bootstrap table 정렬기능  (0) 2024.01.26
브라우저 언어 탐지  (0) 2024.01.18
javascript exif 정보 얻기  (0) 2023.11.29
웹 브라우저 10080 포트 접근 차단 이유  (0) 2023.08.03
Posted by 구차니

예제를 복붙하고 nc 를 통해 테스트 하는데

nc 접속이 끊어지니  쓰레드에서 수신했다고 무한으로 뜬다.

접속하고 받는건 되지만, 끊어지는건 처리가 안된 예제..

 

[링크 : https://mogoh-developer.tistory.com/9]

[링크 : https://nalara12200.tistory.com/153]

[링크 : https://github.com/levhyun/python_socket]

 

+

2024.01.23

[링크 : https://codezaram.tistory.com/31]

'Programming > python(파이썬)' 카테고리의 다른 글

pyhthon numpy 생략없이 출력  (0) 2024.02.26
matplotlib grayscale image to 3d graph  (0) 2024.02.22
파이썬 소켓 예제  (0) 2024.01.17
ipython notebook -> jupyter notebook  (0) 2024.01.11
파이썬 가상환경  (0) 2024.01.09
Posted by 구차니
Programming/web 관련2024. 1. 18. 16:32

크롬에서는 아래 한가지만 실행된다.

navigator.languages
(4) ['ko-KR', 'ko', 'en-US', 'en']

navigator.language
'ko-KR'

[링크 : https://phrase.com/blog/posts/detecting-a-users-locale/]

 

[링크 : https://stackoverflow.com/questions/3894488/is-there-anyway-to-detect-os-language-using-javascript]

[링크 : https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language]

'Programming > web 관련' 카테고리의 다른 글

bootstrap table 정렬기능  (0) 2024.01.26
bootstrap modal  (0) 2024.01.23
javascript exif 정보 얻기  (0) 2023.11.29
웹 브라우저 10080 포트 접근 차단 이유  (0) 2023.08.03
javascript 배열을파일로 저장하기  (0) 2023.08.02
Posted by 구차니
Programming/css2024. 1. 18. 16:17

body에 onresize가 없는데 어떻게 작동하나 궁금해서 찾아보니

css에 이상한게 발견!

 

@media not|only mediatype and (mediafeature and|or|not mediafeature) {
  CSS-Code;
}

[링크 : https://www.w3schools.com/cssref/css3_pr_mediaquery.php]

 

폭이 1000px 이하일 때 적용

@media (max-width: 1000px) {
    body {
        background: gold;
    }
}

min-width를 사용하는 경우
스마트폰 등 가장 작은 사이즈에서의 레이아웃을 기본으로 하고, 점차 확장되어가는 형태로 CSS를 작성합니다.

max-width를 사용하는 경우
데스크탑용의 가장 큰 화면 사이즈의 레이아웃을 기본으로 하고, 점차 축소하는 형태로 CSS를 작성합니다

[링크 : https://studiomeal.com/archives/1004]

[링크 : https://www.daleseo.com/css-media-queries/]

[링크 : https://log.designichthus.com/11]

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

css3 calc()  (0) 2020.01.03
@keyframe in css  (0) 2019.01.29
css transform zindex origin  (0) 2018.10.25
css tooltip 위치  (0) 2018.10.25
css로 백그라운드만 돌리기  (0) 2018.10.10
Posted by 구차니
Programming/golang2024. 1. 18. 10:55

어우 빡세 -_-

완전히 설정은 못했고

main.go의 주석문에 의해서 swag init 실행시에 초기화 하는데

그러다 보니 동적으로 타겟의 ip가 변경될 경우는 매번 주석을 변경해서 빌드해 주어야 하는 문제가 발생한다.

먼가 좋은 방법이 있나 찾아보는데 쓸만한 답은 못 찾음..

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

golang echo template engine  (0) 2024.01.31
gin ui  (0) 2024.01.30
golang용 swagger  (0) 2024.01.17
golang echo static web / logo.* 안돼?  (0) 2023.12.08
golang 타입 땜시 짜증  (0) 2023.11.10
Posted by 구차니
Programming/golang2024. 1. 17. 18:22

swagger도 이름이 생각안나서 한참 찾은...

해보면 묘하게 잘 안된다. swag 실행 파일도 그냥 swag에서 pre-built binary 받아서 실행해야 하고..

[링크 : https://yongho1037.tistory.com/791]

 

[링크 : https://github.com/go-swagger/go-swagger]

[링크 : https://github.com/swaggo/swag]

[링크 : https://github.com/swaggo/echo-swagger]

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

gin ui  (0) 2024.01.30
golang swagger part 2  (0) 2024.01.18
golang echo static web / logo.* 안돼?  (0) 2023.12.08
golang 타입 땜시 짜증  (0) 2023.11.10
golang 타입 캐스팅 제약(?)  (0) 2023.11.09
Posted by 구차니

 

블러킹 방식이지만 잘 되긴 함.

[링크 : https://1d1cblog.tistory.com/69

 

그래서 멀티쓰레드로 작동하게 해야하나? 고민중

[링크 : https://m.blog.naver.com/jkg57/222480924841]

[링크 : https://nachwon.github.io/asyncio-futures/]

 

[링크 : https://orashelter.tistory.com/47]

[링크 : https://docs.python.org/3.6/library/asyncio-protocol.html]

'Programming > python(파이썬)' 카테고리의 다른 글

matplotlib grayscale image to 3d graph  (0) 2024.02.22
python tcp 서버 예제  (0) 2024.01.22
ipython notebook -> jupyter notebook  (0) 2024.01.11
파이썬 가상환경  (0) 2024.01.09
pyplot legend picking  (0) 2023.10.05
Posted by 구차니
Programming/openCV2024. 1. 16. 11:34

MTM + webcam

pc에서는 잘도는데 arm에서 잘되려나..

 

import MTM, cv2
import numpy as np

letter_a = cv2.imread('letter_a.png', 0)
letter_b = cv2.imread('letter_b.png', 0)
letter_c = cv2.imread('letter_c.png', 0)
letter_d = cv2.imread('letter_d.png', 0)

letter_a.astype(np.uint8)
letter_b.astype(np.uint8)
letter_c.astype(np.uint8)
letter_d.astype(np.uint8)

listTemplates = [('A', letter_a),
                 ('B', letter_b),
                 ('C', letter_c),
                 ('D', letter_d)]

webcam = cv2.VideoCapture(2)
webcam.set(cv2.CAP_PROP_FRAME_WIDTH, 1024)
webcam.set(cv2.CAP_PROP_FRAME_HEIGHT, 768)

def drawBoxesOnRGB2(image, tableHit, boxThickness=2, boxColor=(255, 255, 00), showLabel=False, labelColor=(255, 255, 0), labelScale=0.5 ):
    # Convert Grayscale to RGB to be able to see the color bboxes
    if image.ndim == 2: outImage = cv2.cvtColor(image, cv2.COLOR_GRAY2RGB) # convert to RGB to be able to show detections as color box on grayscale image
    else:               outImage = image.copy()

    for _, row in tableHit.iterrows():
        x,y,w,h = row['BBox']
        score = row['Score']
        cv2.rectangle(outImage, (x, y), (x+w, y+h), color=boxColor, thickness=boxThickness)
        if showLabel: cv2.putText(outImage, text=row['TemplateName'] + "@" + str(score * 100), org=(x, y), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=labelScale, color=labelColor, lineType=cv2.LINE_AA)

    return outImage

if not webcam.isOpened():
    print("Could not open webcam")
    exit()

while webcam.isOpened():
    status, image = webcam.read()
    image.astype(np.uint8)
    image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    tableHit = MTM.matchTemplates(listTemplates, image_gray, score_threshold=0.8, method=cv2.TM_CCOEFF_NORMED, maxOverlap=0)
    print("Found {} letters".format(len(tableHit)))
    print(tableHit)

    Overlay = drawBoxesOnRGB2(image, tableHit, showLabel=True)

    if status:
        cv2.imshow("test", Overlay)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

webcam.release()
cv2.destroyAllWindows()

[링크 : https://medium.com/quantrium-tech/object-detection-multi-template-matching-2c9c9fc1a867]

[링크 : https://github.com/multi-template-matching/MultiTemplateMatching-Python]

 

열고 해상도 바꾸는게 안되면, 열면서 해상도 설정하면 됨.

cap = cv2.VideoCapture(1, apiPreference=cv2.CAP_ANY, params=[
    cv2.CAP_PROP_FRAME_WIDTH, 1280,
    cv2.CAP_PROP_FRAME_HEIGHT, 1024])

[링크 : https://stackoverflow.com/questions/71310212/python-cv2-videocapture-has-wrong-resolution-and-read-cropped-images]

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

opencv 카메라 캡쳐 - 최신 이미지 갱신  (0) 2024.01.25
opencv webcam 수동촛점 조절  (0) 2024.01.25
opencv cv2.imshow() error  (0) 2024.01.16
opencv를 이용한 다중 템플릿 추적  (0) 2024.01.15
cv2.imshow cv2.waitKey  (0) 2022.03.14
Posted by 구차니
Programming/openCV2024. 1. 16. 10:54

잘되더니 버전이 올라가서 그런가 배를 짼다.

실행 환경은 i.mx8mp evk / wayland 환경이라 그런가..

그런데 잘되다가 pip로 이것저것 x86도 갈아 엎었더니 똑같이 문제가 발생..

 

에러는 아래와 같은데 어떤 패키지를 설치하라고 한다. libgtk 라.. wayland 되면서 들어내버린건가?

Traceback (most recent call last):
  File "/home/falinux/work/src/cv2/cam2.py", line 31, in <module>
    cv2.imshow("test", image)
cv2.error: OpenCV(4.9.0) /io/opencv/modules/highgui/src/window.cpp:1272: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'

 

아무튼 패키지 깔고, pip로 깔아주니 해결

sudo apt install libgtk2.0-dev pkg-config
pip install opencv-contrib-python

[링크 : https://stackoverflow.com/questions/42843316/how-to-include-libgtk2-0-dev-and-pkg-config-in-cmake-when-installing-opencv-on-u]

 

디자인이 먼가 바뀌었다?

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

opencv webcam 수동촛점 조절  (0) 2024.01.25
MTM + webcam  (0) 2024.01.16
opencv를 이용한 다중 템플릿 추적  (0) 2024.01.15
cv2.imshow cv2.waitKey  (0) 2022.03.14
virtual mouse  (0) 2022.01.25
Posted by 구차니
Programming/openCV2024. 1. 15. 10:48

 

일반적인 템플릿 매칭은 가장 매칭되는 하나의 녀석만 찾는데

트럼프 카드와 같이 여러개의 도형이 있을 경우 여러개를 다 찾는 방법을 제공함.

[링크 : https://pyimagesearch.com/2021/03/29/multi-template-matching-with-opencv/]

 

yolo 외에도 쓸 수 있는 방법이었나?

[링크 : https://pyimagesearch.com/2014/11/17/non-maximum-suppression-object-detection-python/]

 

openCV 문서에서도 발견

minMaxLoc을 안쓰면 되다고. (응?)

    res = cv.matchTemplate(img,template,method)
    min_val, max_val, min_loc, max_loc = cv.minMaxLoc(res)
    cv.rectangle(img,top_left, bottom_right, 255, 2)
res = cv.matchTemplate(img_gray,template,cv.TM_CCOEFF_NORMED)
threshold = 0.8
loc = np.where( res >= threshold)
for pt in zip(*loc[::-1]):
    cv.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2)

[링크 : https://docs.opencv.org/3.4/d4/dc6/tutorial_py_template_matching.html]

 

아래 그림 하나로 설명.

원래 내가 원하던 건데.. x86이 아닌 arm에서도 되려나?

[링크 : https://medium.com/quantrium-tech/object-detection-multi-template-matching-2c9c9fc1a867]

[링크 : https://pypi.org/project/Multi-Template-Matching/]

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

MTM + webcam  (0) 2024.01.16
opencv cv2.imshow() error  (0) 2024.01.16
cv2.imshow cv2.waitKey  (0) 2022.03.14
virtual mouse  (0) 2022.01.25
opencv-3.4.0 어플리케이션 빌드  (0) 2021.01.14
Posted by 구차니