파이썬을 사용하여 JSL로 만든 이미지의 배경을 투명하게 만드는 방법은 무엇입니까?나는 이렇게 성공하지 못했다.
감사해요!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
p1 = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
);
img = p1 << Get Picture;
img_binary = img << Get Blob("PNG");
base64_img = Blob To Base64(img_binary);
Python Send("base64_img", base64_img);
Python Submit("
import base64
from PIL import Image
import numpy as np
import io
def remove_white_background(img_data_bytes):
img = Image.open(io.BytesIO(img_data_bytes))
if img.mode != 'RGBA':
img = img.convert('RGBA')
data = np.array(img)
white_pixels = (data[:, :, 0] >= 240) & (data[:, :, 1] >= 240) & (data[:, :, 2] >= 240)
data[white_pixels, 3] = 0
new_img = Image.fromarray(data)
output = io.BytesIO()
new_img.save(output, format='PNG')
return output.getvalue()
img_data_bytes = base64.b64decode(base64_img)
transparent_img_binary = remove_white_background(img_data_bytes)
");
transparent_img_binary = Python Get("transparent_img_binary");
transparent_img = New Image(transparent_img_binary);

자동화 및 스크립팅윈도우답변: 파이썬을 사용하여 JSL로 만든 이미지의 배경을 투명하게 만드는 방법은 무엇입니까?파이썬 Send(img);
잘못된.
처리하는 동안에는 사진을 저장하지 마세요.
감사해요!
Re: JSL로 만든 이미지의 배경을 파이썬을 이용해 투명하게 만드는 방법은?가장 중요한 문제는 JMP 이미지 데이터를 Python에서 작업할 수 있는 형식으로 변환하는 것입니다. 위 코드를 사용하면 Python에서 작업할 수 있는 RGBA 이미지를 얻을 수 있습니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p1 = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
img = p1 << Get Picture;
m = img << Get Pixels( "rgba" ); // See scripting index for docs on get pixel
python send(m); // Sends list of vectors { [r],[g],[b],[a] }
python submit("\[
from PIL import Image
import numpy as np
print(m.__class__)
# JMP image values are 0..1 so covert and make numpy array
rgb_uint8 = (np.dstack((m[0],m[1],m[2],m[3])) * 255.999) .astype(np.uint8)
pyimg = Image.fromarray(rgb_uint8,"RGBA"). #you now have a PIL.Image in Python.
pyimg.save(jmp.HOME+'pyimg.png'). # here I saved just to prove image made it through
]\");
바로 이 부분에서 AI의 한계가 드러납니다. 효율적으로 이를 수행하려면 JSL이 제공하는 기능과 Python API를 통해 사용할 수 있는 방식으로 데이터를 Python으로 전달하는 방법을 이해해야 합니다. JMP 스크립팅 인덱스를 참고하시면 도움이 될 것입니다.
Re: JSL로 만든 이미지의 배경을 파이썬을 사용하여 투명하게 만드는 방법은 무엇입니까?파이썬은 이미지를 처리하고 저장하는 데 더 편리한 것 같습니다.
전문가 여러분, 감사합니다!

Re: JSL로 만든 이미지의 배경을 파이썬을 사용하여 투명하게 만드는 방법은 무엇입니까?파이썬은 이미지를 처리하고 저장하는 데 더 편리한 것 같습니다.나는 그런 그림을 만들고 싶다.
JSL에는 그래픽 배경을 직접 투명하게 만드는 기능이 없다는 점이 아쉽습니다.

Re: JSL로 만든 이미지의 배경을 파이썬을 이용해 투명하게 만드는 방법은?스크립팅 인덱스 참조: 이미지
img << Transparency( 0. ); // 전체 이미지의 투명도 수준을 0..1로 설정합니다. 0 => 투명, 1 => 불투명
배경만 투명하게 하고 싶다면 << get pixels( "rgba" )를 실행한 다음 배열을 편집하여 흰색 픽셀을 찾아 투명도를 0으로 설정합니다. 그런 다음 << set pixels( "rgba", { r, g, b, a} )를 실행하여 업데이트를 이미지로 다시 설정합니다.
답변: 파이썬을 사용하여 JSL로 만든 이미지의 배경을 투명하게 만드는 방법은 무엇입니까?JMP 18 Python Send()는 JMP 이미지를 처리하는 방법을 모릅니다. 18에서는 데이터 테이블 유형이 우선 순위를 가졌습니다. JMP 19는 이미지에 대한 최소한의 지원만 제공하므로 Python에서 이미지를 데이터 테이블에 추가할 수 있습니다. 현재 JMP 19 EA에는 Python에서 기본 이미지 데이터에 대한 접근자가 없습니다.
Re: JSL로 만든 이미지의 배경을 파이썬을 이용해 투명하게 만드는 방법은?전문가 여러분, 감사합니다!
이런 식으로 글을 써보려고 했고, AI에게도 물어봤지만, 여전히 실패했습니다.
이전에도 이렇게 하면 사진이 더 밝아진다는 걸 알았지만, 투명하지는 않더군요.
크레이그는 배경 투명성을 달성하기 위한 제안을 구체적으로 제시했습니다(JMP 17에서는 제안했지만 JMP18에서는 개선되지 않았습니다).
dt = Open("$SAMPLE_DATA/Big Class.jmp");
p1 = dt << Graph Builder(
Show Control Panel(0), Show Legend(0), Show Title(0), Show Footer(0), Show X Axis(0), Show Y Axis(0), Show X Axis Title(0), Show Y Axis Title(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
);
img = p1 << Get Picture;
m = img << Get Pixels("rgba");
size_info = img << Get Size;
img_width = If(N Items(size_info) >= 1, size_info[1], 0);
img_height = If(N Items(size_info) >= 2, size_info[2], 0);
n = m;
white_pixels = Loc(m[0, 0, 1] == 255 & m[0, 0, 2] == 255 & m[0, 0, 3] == 255);
for(k = 1, k <= N Rows(white_pixels), k++,
i = white_pixels[k, 1];
j = white_pixels[k, 2];
n[i, j, 4] = 0
);
img << Set Pixels("rgba", n);
win2 = NewWindow("Transformed - White Transparent", img);Re: JSL로 만든 이미지의 배경을 파이썬을 이용해 투명하게 만드는 방법은?https://community.jmp.com/t5/JMP-Wish-List/Transparent-Background-color-for-graphs/idi-p/627431
https://community.jmp.com/t5/Discussions/How-to-use-JSL-graph-Background-for-transparent-graphics/mp/627070#M82571
Re: JSL로 만든 이미지의 배경을 파이썬을 이용해 투명하게 만드는 방법은?