범위 :C# 비트 맵에서 같은 색의 유사 음을 어떻게 바꾸나요?
이안녕 모두, 난 문자가 흰색이다 "블랙 화이트"(진화) 이미지, 전체 나머지 (배경, 라인, 무작위 사진)이 보안 문자를 변환하기 위해 노력하고 있습니다 검은.
captcha에 대한 링크는 here입니다. 상쾌하게 함으로 다른 captcha를 줄 것이다.
이유 :
나는 대부분의 사람들이 알고는 그래서 여기에 내가 나 자신을 방어하고 보안 문자를 엉망으로 잘못 생각합니다. 이것은 지식/자기 도전에만 사용됩니다. 이러한 이미지는 다른 용도로 사용되지 않습니다.
문제 :
잠시 동안 이러한 이미지를 공부하고, 나는 좋은 aproach가 색상 교체하는 것이라고 알아 낸 후 "흰색과 노란색"을 "Color.Black", 그리고 다른 모든 색상을 "Color.White"로 대체해야합니다.
이 후에는 색상을 "뒤집어서"원하는대로 출력 할 수 있습니다.
코드 샘플 :이 코드에서
, 나는 스카이 블루 픽셀마다 이미지의 색상 "블랙"을 대체하려합니다.
WebRequests wr = new WebRequests(); // My class to handle WebRequests
Bitmap bmp;
string url = "http://www.fazenda.rj.gov.br/projetoCPS/codigoImagem";
bmp = wr.GetBitmap (url);
for (int i = 1; i < bmp.Height ; i++)
{
for (int j = 1 ; j < bmp.Width ; j++)
{
if (bmp.GetPixel(j,i).Equals(Color.Black))
{
bmp.SetPixel(j,i, Color.SkyBlue);
}
}
}
이 코드는 전혀 작동하지 않지만 왜 그런지는 모르겠지만이 예제에서는 픽셀이 대체되지 않습니다.
질문 :이
어떻게 내가이 일을 할 수 ? 내가 여기서 무엇을 놓치고 있니?
또한 나를위한 이상적인 시나리오는이 이미지의 색상 팔레트를 "기본"색상으로 "축소"하여 내 작업을 훨씬 쉽게 만들어주는 것입니다.
이미 색을 줄이기 위해 사용하고있는 AForge Framework을 시도했지만 전혀 작동하지 않습니다. 예상 한 결과가 아닙니다.
이 이미지를 올바르게 이진화하려면 어떻게해야합니까?
미리 감사드립니다.
Marcello Lins.
나는 노란색 'Q'와 'C'검은 'Q'뿐만 아니라 흰색 'W'흰색 'C'를 포함 볼 수있는 CAPTCHA 귀하를 접근 방식이 검은 색으로 사라질 것입니다. – LSerni
배경이 회색이거나 결코 검은 색이어서 사라지지 않습니다. 모든 문자를 같은 색으로 만들고 싶습니다. 문자 색은 "흰색, 노란색 및 검은 색"이 될 수 있기 때문에 모든 문자를 검정색으로 채우고 나머지 색은 모두 한 색으로 처리하게됩니다. 배경. –