From b8537857d30941f727fd4f2d52c3fa549b3eb5f0 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sat, 23 Feb 2019 11:31:21 +0900 Subject: README: Update instructions for contrast and retouching --- README.rst | 49 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/README.rst b/README.rst index c72bab5..8d5abf3 100644 --- a/README.rst +++ b/README.rst @@ -24,7 +24,9 @@ Gerbolyze works in three steps. $ gerbolyze render top my_gerber_dir preview.png -2. Load the resulting preview image into the GIMP or another image editing program. Use it as a guide to position scale your artwork. Create a black-and-white image from your scaled artwork using GIMP's newsprint filter. Make sure most details are larger than about 10px to ensure manufacturing goes smooth. +2. Load the resulting preview image into the GIMP or another image editing program. Use it as a guide to position scale + your artwork. Create a black-and-white image from your scaled artwork using GIMP's newsprint filter. Make sure most + details are larger than about 10px to ensure manufacturing goes smooth. 3. Vectorize the resulting grayscale image drectly into the PCB's gerber files: @@ -32,22 +34,27 @@ Gerbolyze works in three steps. $ gerbolyze vectorize top input_gerber_dir output_gerber_dir black_and_white_artwork.png -Image preprocessing -------------------- +Image preprocessing guide +------------------------- -Nice black-and-white images can be generated from any grayscale image using the GIMP's newsprint filter. The straight-forward pre-processing steps necessary for use by ``gerbolyze vectorize`` are as follows. +Nice black-and-white images can be generated from any grayscale image using the GIMP's newsprint filter. The +straight-forward pre-processing steps necessary for use by ``gerbolyze vectorize`` are as follows. 1 Import a render of the board generated using ``gerbolyze render`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -``gerbolyze render`` will automatically scale the render such that ten pixels in the render correspond to 6mil on the board, which is about the smallest detail most manufacturers can resolve on the silkscreen layer. You can control this setting using the ``--fab-resolution`` and ``--oversampling`` options. Refer to ``gerbolyze --help`` for details. +``gerbolyze render`` will automatically scale the render such that ten pixels in the render correspond to 6mil on the +board, which is about the smallest detail most manufacturers can resolve on the silkscreen layer. You can control this +setting using the ``--fab-resolution`` and ``--oversampling`` options. Refer to ``gerbolyze --help`` for details. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/01import01.png 2 Import your desired artwork ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Though anime or manga pictures are highly recommended, you can use any image including photographs. Be careful to select a picture with comparatively low detail that remains recognizable at very low resolution. While working on a screen this is hard to vizualize, but the grain resulting from the low resolution of a PCB's silkscreen is quite coarse. +Though anime or manga pictures are highly recommended, you can use any image including photographs. Be careful to select +a picture with comparatively low detail that remains recognizable at very low resolution. While working on a screen this +is hard to vizualize, but the grain resulting from the low resolution of a PCB's silkscreen is quite coarse. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/02import02.png @@ -61,7 +68,9 @@ Though anime or manga pictures are highly recommended, you can use any image inc .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/04scale_cut.png -For alignment it may help to set the artwork layer's mode in the layers dialog to ``overlay``, which makes the PCB render layer below shine through more. If you can't set the layer's mode, make sure you have actually made a new layer from the floating selection you get when pasting one image into another in the GIMP. +For alignment it may help to set the artwork layer's mode in the layers dialog to ``overlay``, which makes the PCB +render layer below shine through more. If you can't set the layer's mode, make sure you have actually made a new layer +from the floating selection you get when pasting one image into another in the GIMP. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/05position.png @@ -73,22 +82,31 @@ For alignment it may help to set the artwork layer's mode in the layers dialog t 6 Fine-tune the image's contrast ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To look well on the PCB, contrast is critical. If your source image is in color, you may have lost some contrast during grayscale conversion. Now is the time to retouch that using the GIMP's color curve tool. +To look well on the PCB, contrast is critical. If your source image is in color, you may have lost some contrast during +grayscale conversion. Now is the time to retouch that using the GIMP's color curve tool. -When using the GIMP's newsprint filter, bright grays close to white and dark grays close to black will cause very small dots that might be beyond your PCB manufacturer's maximum resolution. To control this case, add two steps to the grayscale value curve as in the picture below. These steps saturate very bright grays to white and very dark grays to black while preserving the values in the middle. +When using the GIMP's newsprint filter, bright grays close to white and dark grays close to black will cause very small +dots that might be beyond your PCB manufacturer's maximum resolution. To control this case, add small steps at the ends +of the grayscale value curve as shown (exaggerated) in the picture below. These steps saturate very bright grays to +white and very dark grays to black while preserving the values in the middle. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/08curve_cut.png 7 Retouch details ~~~~~~~~~~~~~~~~~ -Therer might be small details that don't look right yet, such as the image's background color or small highlights that merge into the background now. You can manually change the color of any detail now using the GIMP's flood-fill tool. +Therer might be small details that don't look right yet, such as the image's background color or small highlights that +merge into the background now. You can manually change the color of any detail now using the GIMP's flood-fill tool. If you don't want the image's background to show up on the final PCB at all, just make it black. +Particularly on low-resolution source images it may make sense to apply a blur with a radius similar to the following +newsprint filter's cell size (10px) to smooth out the dot pattern generated by the newsprint filter. + .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/09retouch.png -In the following example, I retouched the highlights in the hair of the character in the picture to make them completely white instead of light-gray, so they still stand out nicely in the finished picture. +In the following example, I retouched the highlights in the hair of the character in the picture to make them completely +white instead of light-gray, so they still stand out nicely in the finished picture. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/10retouched.png @@ -97,9 +115,11 @@ In the following example, I retouched the highlights in the hair of the characte Now, run the GIMP's newsprint filter, under filters, distorts, newsprint. -The first important settings is the spot size, which should be larger than your PCB's minimum detail size (about 10px with ``gerbolyze render`` default settings). +The first important settings is the spot size, which should be larger than your PCB's minimum detail size (about 10px +with ``gerbolyze render`` default settings). -The second important setting is oversampling, which should be set to four or slightly higher. This improves the result of the edge reconstruction of ``gerbolyze vectorize``. +The second important setting is oversampling, which should be set to four or slightly higher. This improves the result +of the edge reconstruction of ``gerbolyze vectorize``. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/11newsprint.png @@ -114,7 +134,8 @@ The following are examples on the detail resulting from the newsprint filter. 9 Export the image for use with ``gerbolyze vectorize`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply export the image as a PNG file. Below are some pictures of the output ``gerbolyze vectorize`` produced for this example. +Simply export the image as a PNG file. Below are some pictures of the output ``gerbolyze vectorize`` produced for this +example. .. image:: https://raw.githubusercontent.com/jaseg/gerbolyze/master/screenshots/14result_cut.png -- cgit