Projekt
Sprawdź czerń, biel i równość progu, odrzucając nierówne kształty oraz piksele spoza bajtu lub logiczne bez zmiany wejścia.
Zastosuj powtarzalny kafel progów dwa na dwa do całkowitych pikseli szarości w macierzach do 64 na 64.
def ordered_dither(pixels):
pixels = [tuple(row) for row in pixels]
width = len(pixels[0]) if pixels else 0
if len(pixels) > 64 or width > 64 or any(len(row) != width for row in pixels):
raise ValueError("image.shape")
if any(type(v) is not int or not 0 <= v <= 255 for row in pixels for v in row):
raise ValueError("pixel.byte")
thresholds = ((32, 160), (224, 96))
return [[value >= thresholds[r % 2][c % 2] for c, value in enumerate(row)]
for r, row in enumerate(pixels)]Sprawdź czerń, biel i równość progu, odrzucając nierówne kształty oraz piksele spoza bajtu lub logiczne bez zmiany wejścia.
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
def ordered_dither(pixels):
pixels = [tuple(row) for row in pixels]
width = len(pixels[0]) if pixels else 0
if len(pixels) > 64 or width > 64 or any(len(row) != width for row in pixels):
raise ValueError("image.shape")
if any(type(v) is not int or not 0 <= v <= 255 for row in pixels for v in row):
raise ValueError("pixel.byte")
thresholds = ((32, 160), (224, 96))
return [[value >= thresholds[r % 2][c % 2] for c, value in enumerate(row)]
for r, row in enumerate(pixels)]DitherMorrow to środowisko programistyczne AI dla Windows do tworzenia kodu przetwarzania obrazów z konkretnymi danymi obok rozmowy. Otwórz projekt i określ potrzebną zmianę wizualną lub zmianę danych. Poproś model o sprawdzenie ścieżki przetwarzania przed zasugerowaniem edycji, w tym formatu oczekiwanego przez kod odbierający wynik.
Procedura uporządkowanego ditheringu w skali szarości jest przykładowym zadaniem. Dostarcz małą siatkę pikseli i opisz zamierzone zachowanie progów. Poproś o wyjaśnienie wpływu pozycji wiersza i kolumny na wynik, a następnie przejrzyj konkretną poprawkę. Rozmowa dotyczy implementacji projektu; nie oznacza usługi edycji obrazów ani przyspieszenia sprzętowego.
Sprawdź proponowane zmiany przy użyciu dokładnych oczekiwań wobec pikseli i widoku, który z nich korzysta. Wynik może mieć właściwe wymiary, ale wzór zaczynać w niewłaściwym miejscu. Uruchom odpowiednie testy na pustych, małych i granicznych danych oraz porównaj obrazy wynikowe w spójnych warunkach oglądania przed oceną zmiany.
Możesz wybrać model AI bez cenzury udostępniany przez obsługiwany punkt końcowy zgodny z OpenAI lub punkt końcowy Anthropic. Dane uwierzytelniające mogą być konieczne, a ograniczenia dostawcy nadal obowiązują. Model i serwer ustalają obsługę narzędzi i limity kontekstu, więc wybierz reprezentatywne dane testowe, zamiast zakładać, że każdy podłączony model widzi cały proces przetwarzania obrazu.
Dokładne małe wejścia pozwalają sprawdzić, które wartości się zmieniły i dlaczego. Większy obraz może ukrywać przesunięty wzór progowania. Gdy to potrzebne, użyj obu: danych testowych dla precyzyjnych oczekiwań i obrazu dla wynikowego zachowania wizualnego.
Nie. Opisywany produkt jest środowiskiem programistycznym dla Windows. Implementacja GPU w Twoim projekcie wymaga odpowiedniego kodu, zależności i pomiarów. Nie wnioskuj o przyspieszeniu z nazwy ani z sugestii modelu dotyczącej pracy równoległej.
Określ, czy równość wybiera wyjście górne czy dolne, i uwzględnij dokładnie tę wartość w teście. Sprawdź też wartości sąsiednie. Uwidacznia to zmianę porównania bez polegania na ogólnym wyglądzie przykładowego obrazu.
Użyj rzeczywistego wyniku projektu i potwierdź miejsce przetwarzania. Lokalne wnioskowanie wymaga osobnego serwera i nie sprawia, że każde narzędzie obrazowe lub plikowe działa lokalnie. Sprawdź te połączenia narzędzi przed udostępnieniem wrażliwych obrazów.
DitherMorrow · Zaktualizowano 2026-10-25