UnsafeMutableBufferPointer에서 x 및 y 좌표를 어떻게 얻을 수 있습니까?

Albertski

다음과 같은 이미지의 모든 픽셀을 얻습니다.

let buffer = UnsafeMutableBufferPointer<UInt32>.allocate(capacity: size)

나중에 모든 픽셀을 반복하고 RGB 색상을 얻습니다.

for pixel in buffer {
    var r : UInt32 = 0
    var g : UInt32 = 0
    var b : UInt32 = 0
    if cgImage.byteOrderInfo == .orderDefault || cgImage.byteOrderInfo == .order32Big {
        r = pixel & 255
        g = (pixel >> 8) & 255
        b = (pixel >> 16) & 255
    } else if cgImage.byteOrderInfo == .order32Little {
        r = (pixel >> 16) & 255
        g = (pixel >> 8) & 255
        b = pixel & 255
    }
}

현재 색상을 얻을 수 있지만 추가로 해당 픽셀의 x 및 y 좌표를 얻고 싶습니다. 누구든지 이것을 구현할 방법이 있습니까?

내가 생각할 수있는 유일한 방법은 x와 y로 각 픽셀을 반복 한 다음 각 포인트의 바이트를 얻고 색상을 얻는 것입니다.하지만 UnsafeMutableBufferPointer가 더 빠르다고 생각했습니다.

바카와 마

이미지에 widthheight위치가 size = width * height있습니다.

추가 .enumerated()buffer당신의 for얻기 위해 루프 index픽셀의를. 로 나누고 수정 하여 픽셀 width(x, y)좌표 를 찾습니다 .

for (index, pixel) in buffer.enumerated() {
    let x = index % width
    let y = index / width

    var r : UInt32 = 0
    var g : UInt32 = 0
    var b : UInt32 = 0
    if cgImage.byteOrderInfo == .orderDefault || cgImage.byteOrderInfo == .order32Big {
        r = pixel & 255
        g = (pixel >> 8) & 255
        b = (pixel >> 16) & 255
    } else if cgImage.byteOrderInfo == .order32Little {
        r = (pixel >> 16) & 255
        g = (pixel >> 8) & 255
        b = pixel & 255
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

뷰의 끝 (x, y) 좌표를 어떻게 얻을 수 있습니까?

분류에서Dev

(x, y) 좌표를 일부 값에 어떻게 할당 할 수 있습니까?

분류에서Dev

GNUPLOT, 좌표 (x, y, z)를 어떻게 알 수 있습니까?

분류에서Dev

원 반경 내에서 임의의 x 및 y 좌표를 얻으려면 어떻게해야합니까?

분류에서Dev

공간 참조 wkid : 102100을 사용하여 위도 및 경도 좌표를 x 및 y로 어떻게 변환 할 수 있습니까?

분류에서Dev

어떻게 adnroid에 recyclerView 항목의 X 및 Y 좌표를 얻으려면?

분류에서Dev

어떻게 추가 순서에 따라 X, Y 좌표를 플롯 할 수 있습니다?

분류에서Dev

x 및 y 좌표를 사용하여 파이 게임 게임에서 조각을 이동하려면 어떻게해야합니까?

분류에서Dev

시간 및 좌표 :이 결과를 어떻게 찾을 수 있습니까?

분류에서Dev

openlayers3의 벡터 레이어에서 점 좌표를 어떻게 얻을 수 있습니까?

분류에서Dev

산점도에서 단일 지점의 x 및 y 좌표를 얻는 방법이 있습니까?

분류에서Dev

OpenCV.js에서 등고선 모서리의 좌표를 어떻게 얻을 수 있습니까?

분류에서Dev

AS3에서 물체 충돌 좌표를 어떻게 얻을 수 있습니까?

분류에서Dev

모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

분류에서Dev

모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

분류에서Dev

tan (x)가 있는데 어떻게 tan (x / 2)를 얻을 수 있습니까? C에서

분류에서Dev

Seaborn distplot의 분포 피크 y 값에 대한 X 축 값을 어떻게 얻을 수 있습니까?

분류에서Dev

키보드에서 Z 및 Y 키를 어떻게 바꿀 수 있습니까?

분류에서Dev

키보드에서 Z 및 Y 키를 어떻게 바꿀 수 있습니까?

분류에서Dev

어떻게 드래그 수행 (X에 기반을, Y 마우스 좌표) 안드로이드에 AccessibilityService를 사용하고 계십니까?

분류에서Dev

Redis의 SortedSet에서 천장 점수 (점수 및 멤버)를 어떻게 얻을 수 있습니까?

분류에서Dev

어떻게 GUI에 픽셀로 플롯 그래프에서 x와 y 좌표를 변환 할 수 있습니다

분류에서Dev

RetryContext에서 JobId를 어떻게 얻을 수 있습니까?

분류에서Dev

Extjs checkcolumn에서 ID를 어떻게 얻을 수 있습니까?

분류에서Dev

섹션에서 ActivityNode를 어떻게 얻을 수 있습니까?

분류에서Dev

URL에서 ID를 어떻게 얻을 수 있습니까?

분류에서Dev

httpclient에서 쿠키를 어떻게 얻을 수 있습니까?

분류에서Dev

Php에서 어떻게 LowByte를 얻을 수 있습니까?

분류에서Dev

JSON에서 가치를 어떻게 얻을 수 있습니까?

Related 관련 기사

  1. 1

    뷰의 끝 (x, y) 좌표를 어떻게 얻을 수 있습니까?

  2. 2

    (x, y) 좌표를 일부 값에 어떻게 할당 할 수 있습니까?

  3. 3

    GNUPLOT, 좌표 (x, y, z)를 어떻게 알 수 있습니까?

  4. 4

    원 반경 내에서 임의의 x 및 y 좌표를 얻으려면 어떻게해야합니까?

  5. 5

    공간 참조 wkid : 102100을 사용하여 위도 및 경도 좌표를 x 및 y로 어떻게 변환 할 수 있습니까?

  6. 6

    어떻게 adnroid에 recyclerView 항목의 X 및 Y 좌표를 얻으려면?

  7. 7

    어떻게 추가 순서에 따라 X, Y 좌표를 플롯 할 수 있습니다?

  8. 8

    x 및 y 좌표를 사용하여 파이 게임 게임에서 조각을 이동하려면 어떻게해야합니까?

  9. 9

    시간 및 좌표 :이 결과를 어떻게 찾을 수 있습니까?

  10. 10

    openlayers3의 벡터 레이어에서 점 좌표를 어떻게 얻을 수 있습니까?

  11. 11

    산점도에서 단일 지점의 x 및 y 좌표를 얻는 방법이 있습니까?

  12. 12

    OpenCV.js에서 등고선 모서리의 좌표를 어떻게 얻을 수 있습니까?

  13. 13

    AS3에서 물체 충돌 좌표를 어떻게 얻을 수 있습니까?

  14. 14

    모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

  15. 15

    모서리에서 x, y 곡선을 어떻게 만들 수 있습니까?

  16. 16

    tan (x)가 있는데 어떻게 tan (x / 2)를 얻을 수 있습니까? C에서

  17. 17

    Seaborn distplot의 분포 피크 y 값에 대한 X 축 값을 어떻게 얻을 수 있습니까?

  18. 18

    키보드에서 Z 및 Y 키를 어떻게 바꿀 수 있습니까?

  19. 19

    키보드에서 Z 및 Y 키를 어떻게 바꿀 수 있습니까?

  20. 20

    어떻게 드래그 수행 (X에 기반을, Y 마우스 좌표) 안드로이드에 AccessibilityService를 사용하고 계십니까?

  21. 21

    Redis의 SortedSet에서 천장 점수 (점수 및 멤버)를 어떻게 얻을 수 있습니까?

  22. 22

    어떻게 GUI에 픽셀로 플롯 그래프에서 x와 y 좌표를 변환 할 수 있습니다

  23. 23

    RetryContext에서 JobId를 어떻게 얻을 수 있습니까?

  24. 24

    Extjs checkcolumn에서 ID를 어떻게 얻을 수 있습니까?

  25. 25

    섹션에서 ActivityNode를 어떻게 얻을 수 있습니까?

  26. 26

    URL에서 ID를 어떻게 얻을 수 있습니까?

  27. 27

    httpclient에서 쿠키를 어떻게 얻을 수 있습니까?

  28. 28

    Php에서 어떻게 LowByte를 얻을 수 있습니까?

  29. 29

    JSON에서 가치를 어떻게 얻을 수 있습니까?

뜨겁다태그

보관