찾다
웹 프론트엔드PS 튜토리얼이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현

이미지의 일부를 조정해야 하는 경우가 많으며 이러한 조정은 원활하고 대화형으로 이루어져야 합니다. Photoshop Liquify 필터의 Forward Warp 도구는 그러한 도구이며 매우 유용합니다. 유사한 도구에는 Meitu Xiuxiu의 얼굴 슬리밍 기능이 있습니다. 이 문서에서는 이러한 도구 뒤에 있는 원리와 알고리즘을 설명합니다.

먼저 Meitu Xiuxiu를 예로 들어 순방향 변환 기능을 간략하게 설명합니다.

먼저 마우스를 사용하여 원형 선택을 제어합니다.

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현

그런 다음 마우스 왼쪽 버튼을 클릭하고 특정 방향으로 드래그하여 부드러운 앞으로 변형 그림을 만듭니다.

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현

이 도구를 사용하면 사진의 일부를 조정할 수 있으므로 상대적으로 자유도가 높아 더욱 실용적입니다.

다음은 이러한 알고리즘의 원리를 설명합니다.

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현

위 그림에서 음영 처리된 링은 반경이 rmax인 원형 선택을 나타냅니다. 그 중 C점은 마우스를 클릭했을 때의 지점으로 원형 선택의 중심이 됩니다. C에서 M으로 마우스를 드래그하면 이미지의 U 지점이 X 지점으로 변환됩니다. 따라서 핵심 문제는 위 변환의 역변환을 찾는 것입니다. 점 , U의 픽셀 값을 찾습니다. 원형 선택의 각 픽셀을 평가함으로써 변환된 이미지를 얻을 수 있습니다.

Andreas Gustafsson의 Interactive Image Warping 기사에서는 다음과 같은 역변환 공식을 제공합니다.

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현

이 Warping 알고리즘의 특징은 다음과 같습니다.

1 원형 선택 영역 내의 이미지가 변형됩니다

2 원의 중심에 가까울수록 변형이 크고, 가장자리에 가까울수록 변형이 작아지며, 경계 부분에는 변형이 없습니다

3 변형이 원활합니다

구체적인 구현 단계는 다음과 같습니다.

1 원형 선택의 각 픽셀에 대해 R, G 및 B 구성 요소를 꺼내서 3개의 버프(rBuff, gBuff, bBuff)(즉, 3개의 버프는 각각 선택 항목에 있는 원본 이미지의 R, G, B 채널 값을 저장합니다)

2 각 픽셀에 대해 X 원형 선택에서

2.1 위 식에 따라 변형 전 정확한 위치 좌표 값 U

를 계산합니다. 2.2 보간법을 사용하여 U 위치에서 R을 계산합니다. U의 위치와 rBuff, gBuff, bBuff의 값 G, B 및 기타 구성 요소

2.3 R, G, B 및 기타 구성 요소를 의 픽셀 값으로 새 픽셀로 합성합니다. 위의 내용을 바탕으로 쉽게 작성할 수 있습니다. 이런 문제를 해결하려면 중요한 것은 코드가 아니라 아이디어와 알고리즘입니다.

다음은 제가 구현한 시연입니다.

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현위 그림에서 왼쪽 상단이 원본 이미지이고, 오른쪽 하단이 변형된 이미지입니다. 영상. 빨간색 원은 변형 영역을 둘러쌉니다. 보시다시피 변형이 매우 부드럽습니다. 위 알고리즘에 변형강도 s(strength)를 도입했는데, 위 그림에서는 강도=20입니다.

강도를 도입하려면 공식을 수정해야 합니다. 수정된 공식 버전은 다음과 같습니다.

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현결과 보기——

원본 사진:

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현 변형, 강도=20:

변형, 강도=120:

이미지 변형 알고리즘: Photoshop Liquify 도구 상자에서 순방향 변형 도구 구현

Photoshop과 Meitu Xiuxiu의 이 기능은 지속적으로 변형할 수 있습니다. 이 연속적인 변형은 일련의 기본 변형에 의해 직렬로 연결되어 있는 것 같습니다. 즉, 마우스를 M0에서 Mn 위치로 드래그하면 M0->Mn 변환이 계산될 뿐만 아니라 마우스 궤적에 일련의 중간 변환이 도입됩니다. Point, M1, M2...Mn-1을 선택한 다음 M0->M1, M1->M2,..., Mn-1->Mn과 같은 이미지에 대한 일련의 변환을 수행합니다.

더 많은 이미지 변형 알고리즘: Photoshop 액화 도구 상자에서 전방향 변형 도구 구현, 관련 기사는 PHP 중국어 웹사이트를 참고하세요!


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
디자이너를위한 Photoshop : 시각적 개념 만들기디자이너를위한 Photoshop : 시각적 개념 만들기Apr 13, 2025 am 12:09 AM

다음 단계를 통해 Photoshop에서 시각적 개념을 만들 수 있습니다. 1. 새 문서 만들기, 2. 배경 레이어 추가, 2. 브러시 도구를 사용하여 기본 모양을 그리기 위해, 4. 색상과 밝기 조정, 5. 텍스트 및 그래픽 추가, 6. 로컬 편집에 마스크 사용, 필터 효과를 적용하는 데 도움이됩니다.이 단계는 스크래치에서 완전히 시각적 인 작업을 구축 할 수 있도록 도와줍니다.

Photoshop은 무료입니까? 구독 계획 이해Photoshop은 무료입니까? 구독 계획 이해Apr 12, 2025 am 12:11 AM

Photoshop은 무료가 아니지만 저렴한 비용 또는 무료로 사용하는 몇 가지 방법이 있습니다. 1. 무료 시험 기간은 7 일 이며이 기간 동안 모든 기능을 경험할 수 있습니다. 2. 학생 및 교사 할인은 비용을 절반으로 줄일 수 있으며 학교 증거가 필요합니다. 3. CreativeCloud 패키지는 전문 사용자에게 적합하며 다양한 Adobe 도구가 포함되어 있습니다. 4. Photoshopelements와 Lightroom은 기능이 적지 만 가격이 낮은 저렴한 대안입니다.

Photoshop의 가치 : 기능에 대한 비용의 무게를 측정합니다Photoshop의 가치 : 기능에 대한 비용의 무게를 측정합니다Apr 11, 2025 am 12:02 AM

Photoshop은 강력한 기능과 광범위한 애플리케이션 시나리오를 제공하기 때문에 투자 가치가 있습니다. 1) 핵심 기능에는 이미지 편집, 레이어 관리, 특수 효과 생산 및 색상 조정이 포함됩니다. 2) 전문 디자이너 및 사진 작가에게 적합하지만 아마추어는 김프와 같은 대안을 고려할 수 있습니다. 3) 높은 일회성 지출을 피하기 위해 필요에 따라 AdobecreativeCloud를 구독 할 수 있습니다.

Photoshop의 핵심 목적 : 창의적인 이미지 디자인Photoshop의 핵심 목적 : 창의적인 이미지 디자인Apr 10, 2025 am 09:29 AM

창의적인 이미지 디자인에서 Photoshop의 핵심 사용은 강력한 기능과 유연성입니다. 1) 디자이너는 레이어, 마스크 및 필터를 통해 창의성을 시각적 현실로 변환 할 수 있습니다. 2) 기본 사용에는 자르기, 크기 조정 및 색 보정이 포함됩니다. 3) 레이어 스타일, 블렌드 모드 및 스마트 객체와 같은 고급 사용법은 복잡한 효과를 만들 수 있습니다. 4) 일반적인 실수에는 부적절한 계층 관리 및 필터 사용 과도한 사용이 포함되며, 레이어를 구성하고 필터를 합리적으로 사용하여 해결할 수 있습니다. 5) 성능 최적화 및 모범 사례에는 계층의 합리적 사용, 파일의 정기 저축 및 바로 가기 키 사용이 포함됩니다.

웹 디자인을위한 Photoshop : UI/UX 용 고급 기술웹 디자인을위한 Photoshop : UI/UX 용 고급 기술Apr 08, 2025 am 12:19 AM

Photoshop은 웹 디자인에 사용하여 고 충실도 프로토 타입을 만들고 UI 요소를 설계하며 사용자 상호 작용을 시뮬레이션 할 수 있습니다. 1. 기본 디자인을 위해 레이어, 마스크 및 스마트 객체를 사용하십시오. 2. 애니메이션 및 타임 라인 기능을 통해 사용자 상호 작용을 시뮬레이션합니다. 3. 스크립트를 사용하여 설계 프로세스를 자동화하고 효율성을 향상시킵니다.

초보자 기사 : PS 브러시를 사용하여 글꼴에 크랙 효과를 추가하십시오 (공유)초보자 기사 : PS 브러시를 사용하여 글꼴에 크랙 효과를 추가하십시오 (공유)Apr 07, 2025 am 06:21 AM

이전 기사 "PS (즐겨 찾기)를 사용하여 플레이트 이미지에 인쇄 효과를 추가하기 위해 단계별로 가르치십시오. 다음 기사는 PS 브러시를 사용하여 글꼴에 균열 효과를 추가하는 방법을 소개합니다. 어떻게하는지 살펴 보겠습니다.

Photoshop Advanced Typography : 멋진 텍스트 효과 생성Photoshop Advanced Typography : 멋진 텍스트 효과 생성Apr 07, 2025 am 12:15 AM

Photoshop에서 레이어 스타일과 필터를 통해 텍스트 효과를 만들 수 있습니다. 1. 새 문서를 만들고 텍스트를 추가하십시오. 2. 그림자 및 외부 글로우와 같은 레이어 스타일을 적용하십시오. 3. 파도 효과와 같은 필터를 사용하고 경사 및 구호 효과를 추가하십시오. 4. 마스크를 사용하여 효과 범위와 강도를 조정하여 텍스트 효과의 시각적 영향을 최적화합니다.

사진을 자르는 방법사진을 자르는 방법Apr 06, 2025 pm 10:27 PM

절단은 이미지의 배경 부분을 제거하고 피사체를 남겨 두는 과정입니다. 일반적인 컷 아웃 방법에는 다음이 포함됩니다. 수동 컷 아웃 : 이미지 편집 소프트웨어를 사용하여 피사체의 가장자리를 수동으로 설명합니다. 자동 컷 아웃 : 소프트웨어를 사용하여 주제를 자동으로 식별하고 배경에서 분리하십시오. 타사 컷 아웃 도구 사용 : 특수 도구를 사용하여 이미지를 잘라냅니다. 채널 컷 아웃 : 이미지의 채널을 사용하여 작업을 위해 피사체 색상과 명백한 차이가있는 채널을 세그먼트하고 선택하십시오.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.