STDOUT으로 스크린샷을 보내는 방법

STDOUT으로 스크린샷을 보내는 방법

현재 이미지에서 텍스트를 추출하려면 다음 방법을 사용합니다.

import png:- | convert png:- -units PixelsPerInch -resample 300 -sharpen 12x6.0 png:- | tesseract -l eng stdin stdout | xsel -ib

그러나 import png:-스크린샷 명령이 저에게는 잘 작동하지 않습니다. Linux Mint에는 다소 적합하지 않습니다.

여기에 이미지 설명을 입력하세요.

추가 처리를 위해 스크린샷을 STDOUT으로 직접 보내는 데 사용할 수 있는 다른 명령이 있습니까?

답변1

비슷한 문제가 있었던 것을 기억합니다 scrot. 이럴 땐 잠을 추가했는데 좋았어요! 저에게는 잘 작동하지만 Linux Mint를 사용하고 있지 않습니다.

{ import png:-; sleep 0.1 ;} | convert png:- -units PixelsPerInch -resample 300 -sharpen 12x6.0 png:- | tesseract -l eng stdin stdout | xsel -ib

또는 다음과 같은 scrot을 사용해 볼 수도 있습니다.

scrot -s aoeu.png -e 'tesseract -l eng $f stdout | xsel -ib; rm -f $f'

댓글 입력 및 답변 버전J. 크레이븐스

scrot -s -f -q 100 --silent - |
    convert - -units PixelsPerInch -resample 300 -sharpen 12x6.0 - |
    tesseract -l eng stdin stdout |
    xsel -ib

답변2

stdout의 경우 -와 함께 scrot를 사용할 수 있지만 기본적으로 png 파일이 저장됩니다. 다음을 추가하세요.

scrot -q 100 --silent - |

정확히 그것이 찾고 있는 것이어야 합니다.

업데이트: 1.7 미만 버전에서는 표준 출력을 허용하지 않기 때문에 이 작업을 수행하는 것이 약간 까다롭습니다. 이것은 쉘 스크립트입니다:

#!/bin/bash

# Create a temp working directory
temp_file="$HOME/screenshot_$(date +"%Y_%m_%d-%H_%M_%S").png"

# Take a screenshot to the temp file
scrot -zfq 100 --silent "$temp_file"

# Copy the image file to the clipboard using xclip
xclip -selection clipboard -t image/png -i "$temp_file"

echo -e "\nScreenshot saved to:\n"$temp_file"\n"

exit 0

xclip붙여넣기/출력에 사용합니다 . 파이프 xsel등도 동일하게 작동해야 합니다.

저장한 screenshot.sh
chmod +x screenshot.sh
마지막으로 실행합니다../screenshot.sh

힌트:별칭을 사용하여 단일 명령으로 스크립트를 실행합니다.
BASH 별칭을 만드는 방법

alias sshot='bash -c "/path/to/script/screenshot.sh"'

이제 다음을 입력하여 간단히 스크린샷을 찍을 수 있습니다.sshot

답변3

KDE의 spectacle스크린샷 도구를 사용하면 표준 출력으로 출력할 수 있지만 /dev/stdout대신 다음 을 사용해야 합니다 -.

spectacle --background --fullscreen --output /dev/stdout

또는 짧은 옵션을 사용하세요.spectacle -bfo /dev/stdout

관련 정보