投稿時間:2023-03-02 12:17:28 RSSフィード2023-03-02 12:00 分まとめ(20件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT ITmedia 総合記事一覧 [ITmedia ビジネスオンライン] KFC「2種類選べる!1000円パック」を数量限定販売 「チキン3ピース+ナゲット10ピース」などで1000円 https://www.itmedia.co.jp/business/articles/2303/02/news071.html itmedia 2023-03-02 11:20:00
IT ITmedia 総合記事一覧 [ITmedia Mobile] Y!mobileンラインストア、SIM/eSIM契約でPayPay20%還元(上限1万円) https://www.itmedia.co.jp/mobile/articles/2303/02/news093.html itmediamobileymobile 2023-03-02 11:20:00
IT ITmedia 総合記事一覧 [ITmedia News] LINEに不具合 メッセージが送受信しにくく Twitterトレンドのトップに https://www.itmedia.co.jp/news/articles/2303/02/news090.html itmedianewsline 2023-03-02 11:01:00
TECH Techable(テッカブル) U-NEXTとParavi運喜ぎPPJăŒçľŒĺ–śçľąĺˆç™şčĄ¨ă€‚ă‚łăƒłăƒ†ăƒłăƒ„ăŻ7ćœˆăŤç§ťçŽĄ https://techable.jp/archives/198459 U NEXTとParavié‹ĺ śăŽPPJăŒçľŒĺ śçľąĺˆçşčĄ¨ă€‚ă‚łăƒłăƒ†ăƒłăƒ„ăŻćœˆăŤç§ťçŽĄć Şĺźäźšç¤žU NEXTďźˆäťĽä¸‹ă€U NEXTďź‰ăŻă€ć Şĺźäźšç¤žăƒーăƒŹăƒŸă‚˘ăƒ ăƒťăƒーăƒŠăƒƒăƒˆăƒ•ă‚Šăƒźăƒ ăƒťă‚¸ăƒŁăƒ ăƒłďźˆäťĽä¸‹ă€PPJďź‰ă¨ăŽçľŒĺ śçľąĺˆă‚ çşčĄ¨ăーぞăーăŸă€‚ĺ­˜çśšäźšç¤žăŻU NEXTで、PPJăŒé‹ĺ śăă‚‹ĺ‹•ç ťă‚ľăƒźăƒ“ă‚šă€ŒParaviă€ĺ†…ăŽă‚łăƒłăƒ†ăƒłăƒ„ 2023-03-02 02:00:20
AWS AWS News Blog In the Works – AWS Region in Malaysia https://aws.amazon.com/blogs/aws/in-the-works-aws-region-in-malaysia/ In the Works AWS Region in MalaysiaWe launched an AWS Region in Australia earlier this year four more Switzerland Spain the United Arab Emirates and India in and are working on regions in Canada Israel New Zealand and Thailand All told we now have Availability Zones spread across geographic regions Malaysia in the Works Today I am happy … 2023-03-02 02:06:15
Docker dockerタグが付けられた新着投稿 - Qiita windowsでdockerを使えるようにする https://qiita.com/hiketas/items/ecb4cdf880d16eb19f13 docker 2023-03-02 11:21:34
技術ブログ Developers.IO Contact Lens for Amazon Connectのコンタクトの検索でコンタクトが表示されない時の確認ポイント https://dev.classmethod.jp/articles/contact-lens-for-amazon-connect-contact-not-displayed/ contactlens 2023-03-02 02:52:05
技術ブログ Developers.IO アノテーションに入社しました(町田) https://dev.classmethod.jp/articles/machida-joined-annotation/ 学生時代 2023-03-02 02:37:09
技術ブログ Developers.IO [レポート] ビジネスの意思決定を加速する BI on Snowflake 設計の勘所 #SnowflakeDB #SnowdayJapan https://dev.classmethod.jp/articles/snowday-japan-report-b8-bi-on-snowflake/ bionsnowflake 2023-03-02 02:28:48
技術ブログ Developers.IO Mixpanelへのデータ送信対象プロジェクトを動的に切り替える https://dev.classmethod.jp/articles/mixpanel-dynamically-switch-projects/ mixpanel 2023-03-02 02:21:47
海外TECH DEV Community Reducing Color Depth with React/JavaScript https://dev.to/bytebodger/reducing-color-depth-with-reactjavascript-4gg5 Reducing Color Depth with React JavaScript NOTE The live web app that encompasses this functionality can be found here All of the underlying code for that site can be found here If you read this full series you ll find that there s a bit of a back and forth dance taking place as we attempt to transform an image The dance goes like this We have this original image that we want to paint But it s full of soooo many colors that it makes it impractical to think of converting the digital image into an in real life painting So we pixelate the image which ratchets the number of colors wayyyyy down But the transformed image has a bunch of wonky color matches So we fix that problem by expanding our palette of paints Now the image looks much clearer but we have an unwieldy set of colors again Is there a solution to this Thankfully yes We still have another tool that we can use to greatly restrict the number of colors in our proposed painting Pixelating reduces color depthFirst let s get the obvious out of the way One of our early steps in this series was to pixelate the source image Whenever you perform pixelation you are by definition reducing the color depth Let s look again at our original image The original source image was x pixels This means that in theory there could be as many as unique colors in that image if every single pixel was distinct from every other pixel That feels like a lot and it is but remember that the RGB color space theoretically allows for different colors So we re not even approaching the limits of the RGB color space Then we took that image and pixelated it The resulting image looks like this At this point we haven t done any color matching But originally there were x potential colors But now instead of having pixels we have x blocks because we pixelated it with a block size of pixels So even if every single block has a color that s entirely unique from every other block we ve still dropped the color depth by a factor of Then we took each of those blocks and matched them against our base palette of heavy body acrylic paints Once we ve done that and applied dithering the image looks like this How many colors are we left with Luckily there s a STATS link on Paint Map Studio that shows us all of the colors that exist in the transformed image and the quantity in which they exist in the image So once we do the transformation we can flip over to the STATS page and see how many colors we re dealing with The report looks like this The paints are sorted in descending order with the most frequently used paints at the top and the least frequently used at the bottom If you were to scroll all the way down to the bottom of the list you d see that the transformed image now uses different paints You may remember that the base palette of heavy body acrylic paints actually has more than different colors But the total inventory needed to paint this image is only This happens because there are some colors in our inventory of paints that simply don t belong anywhere in the pixelated image This means we ve taken our image from having potentially different colors down to when we performed the original pixelation then all the way down to when we matched those colors against our palette of paints But there s a problem here because the most recently transformed image above is pretty chunky and noisy That s why in the last article I showed how we can make the new image cleaner by adding potential colors to the palette Specifically we used digital paint mixing to derive palettes that I call Whites Whites Whites Whites and Whites When we add all of those potential palettes to the mix we get this image That s a huge improvement But that improvement comes at a cost Once I ve added all those new palettes to the paint matching algorithm I flip back over to the STATS page and it shows me that the image is now using different colors This would seem to defeat the whole purpose of my program Because I don t want to be faced with mixing up different combinations of paint just to produce one painting So let s see what else we can do to make that palette of colors much more manageable ClippingThe first thing we can do is to simply shave some of those colors off the top or to be more accurate in this case off the bottom What do I mean by clipping Well let s take a look at the bottom of our list of colors from the last transformed image On the STATS page this is the bottom of the list of colors that comprise the image The third column the one with all of the s shows you the number of blocks in the image that correspond to this particular mix of colors As you can see there are many colors that are used in only a single block in the image And remember even the pixelated image still has more than blocks So if a particular color only exists in a single block that color is hardly critical to the overall transformation of the image In fact this particular transformation has colors that only exist in a single block It has colors that only exist in blocks It has colors that only exist in blocks So how do we get rid of them We can t just convert them all to black or to white We d have to convert them to something that looks natural in the context of the image Thankfully we basically already have most of the logic that we need to do this When we did our original color matching we took all of the core colors from the pixelated digital image and we matched them against our palette of paints Now that we can see that there are many paints that barely exist on the canvas we can clip the least used colors out of the palette and then do the color matching again If you re keeping score this is basically what we ve done and what we re gonna do Pixelate the original digital image This requires averaging the original RGB colors that existed in each block Match each of the blocks against our extended palette of paints and repaint the image Take the inventory of paints that are used in the new color matched image and sort them in descending order based on how many times each paint mixture is used in the painting Lop off anything from that list that falls below a chosen threshold This new clipped list will become our new revised palette of paints Run the color matching algorithm on the image again But this time you re only matching against those colors that were already being heavily used in the painting Updated codeLet s see what these changes look like in code First we re gonna update the original create function that was illustrated near the beginning of this series const create src gt const source src image current src src const newImage new Image newImage src source newImage onload gt indexState setShowProcessing false image current newImage canvas current width newImage width canvas current height newImage height context current canvas current getContext d alpha false willReadFrequently true context current drawImage newImage let stats pixelate const matchToPalette maximumColors minimumThreshold indexState if matchToPalette amp amp maximumColors minimumThreshold gt stats adjustColorDepth stats else indexState setShowProcessing false uiState setStats stats uiState setShowPostImageLinks matchToPalette Originally the onload event in this function ended by calling pixelate But now once pixelate has completed we re checking to see if we should do clipping which is indicated by minimumThreshold gt If that s true then we invoke adjustColorDepth Here s what the adjustColorDepth function looks like const adjustColorDepth stats gt const imageData context current getImageData canvas current width canvas current height const adjustedStats colorCounts colors map const blockSize indexState palette filterPalette stats let noise for let y y lt imageData height y blockSize const row for let x x lt imageData width x blockSize const remainingX imageData width x const remainingY imageData height y const blockX remainingX gt blockSize blockSize remainingX const blockY remainingY gt blockSize blockSize remainingY let originalColor getRgbFromImageData imageData x y originalColor applyDithering noise originalColor x y const red green blue originalColor const referenceColor blue green red name const color getClosestColorInThePalette referenceColor row push color noise recordNoise noise originalColor color x y if Object hasOwn adjustedStats colorCounts color name adjustedStats colorCounts color name else adjustedStats colorCounts color name adjustedStats colors push color context current fillStyle rgb color red color green color blue context current fillRect x y blockX blockY adjustedStats map push row return adjustedStats If you re paying close attention to the previous articles you may notice that this function is frightfully similar to pixelate In fact it s sooo similar that I ll probably refactor this in the future to re use the same function But there are two key differences here adjustColorDepth expects a stats object This was the object that was created in the original call to pixelate Before we enter the main image manipulation loops we define the palette by calling filterPalette stats In layman s terms it s going to use the palette that exists in the previous image as a basis for creating a new smaller palette Here s what filterPalette looks like const filterPalette stats gt const sortedColorCounts sortPalette stats const filteredPalette sortedColorCounts forEach colorCount gt const colorName colorCount const filteredColor stats colors find color gt color name colorName filteredPalette push filteredColor return filteredPalette This function is returning that new smaller palette against which the second round of color matching will be performed But this still doesn t illustrate where the clipping happens That takes place in sortPalette Here s what sortPalette looks like const sortPalette stats gt const sort a b gt const aCount a const bCount b if aCount gt bCount return else if aCount lt bCount return else return const minimumThreshold indexState const colorCounts Object entries stats colorCounts filter colorCount gt const count colorCount return count gt minimumThreshold return colorCounts sort sort What s happening here is that we re taking the stats that were generated from the original round of color matching In that object there s a nested object called colorCounts First we grab the entries from that object and filter out any colors that are below the minimumThreshold Then we return the sorted array in descending order so the most used colors are at the top So imagine that the original colorCounts object looked like this const colorCounts Golden Burnt Sienna Golden Paynes Gray Golden Pyrrole Red White Golden Raw Sienna Golden Transparent Red Iron Oxide White Liquitex Cadmium Red Light White Liquitex Deep Magenta Liquitex Parchment Golden Yellow Ochre And imagine that we set the Minimum Threshold value to Then the resulting array of colorCounts would look like this const colorCounts Golden Burnt Sienna Golden Paynes Gray Golden Pyrrole Red White Golden Raw Sienna Golden Transparent Red Iron Oxide White Liquitex Cadmium Red Light White In this example Liquitex Deep Magenta Liquitex Parchment and Golden Yellow Ochre are just clipped right off the bottom of the palette because they weren t used enough to meet our minimum threshold What happens to the blocks that previously contained those colors They ll be re matched against the surviving list of colors So let s see what this looks like in practice This is our pixelated color matched and dithered image with no clipping applied It looks pretty good But it also contains a massive palette of different colors That s very impractical And here s the same image except we ve set the Minimum Threshold value to This also looks pretty good In fact it looks so good that it s challenging to compare the two images and see any difference But what has this clipping done to our total palette After clipping we now have colors in the image That s right By cutting off all the colors that were used fewer than times and then re running the color matching algorithm we managed to lop nearly colors out of our palette and yet there s virtually no visual difference This is incredibly useful But we re not done yet ThrottlingIf we want to be even more aggressive about our control of the color depth we can also throttle the entire list of colors that we allow into the finished image The process goes hand in hand with the code we already created for clipping Clipping entails simply lopping off any colors that weren t used enough times Throttling goes a step further by setting a hard limit on the number of colors that we ll allow in the finished image To make this work we merely have to change one line in our sortPalette function const sortPalette stats gt const sort a b gt const aCount a const bCount b if aCount gt bCount return else if aCount lt bCount return else return const maximumColors minimumThreshold indexState const colorCounts Object entries stats colorCounts filter colorCount gt const count colorCount return count gt minimumThreshold colorCounts sort sort return maximumColors colorCounts slice maximumColors colorCounts This is the same as the previous function with one minor difference If a value has been set for maximumColors then we slice all colors off the sorted array that fall below the maximum So let s take the previous image and put a hard limit on the color depth of Here s what it looks like Once again we ve cut out a huge swath of colors And yet it s hard to discern any visual difference in the transformed image If you re curious we can keep ratcheting down the color depth to see how long it takes before we start to degrade the image Here s the same image limited to colors And now limited to colors starting to see some bands of white And limited to colors And finally colors As you can see there is a point where limiting color depth starts to visually degrade the image But it s kinda astonishing to me at least just how many colors you can strip out of the original and still maintain a coherent image even when you re dealing with a nuanced subject like a human face LessonsThere are two key lessons that I d like you to take from this particular article In the age of digital cameras phones that can capture giga pixels worth of data it s easy to assume that a realistic image must require tons of data Or in the case of image analysis tons of high definition colors But you can actually make an image that feels very convincing to the human eye with a fairly limited palette of colors This is why it s important to have the ability when you re playing with images algorithmically to be able to restrict color depth Because you might find that most of those extra colors are nearly indiscernible to the human eye Palette matters When I first started this journey I reasoned that I should be able to get pretty decent matches for nearly any color in a given pixel because I had paints at my disposal Yet I found that even after I applied techniques such as dithering my transformed image still left a lot to be desired This was because even though I had a large inventory of paints those paints didn t represent a full spectrum of colors that I was seeing in the image When I expanded the palette virtually I was able to achieve much better color matching On this last point I ll give you a thought experiment Imagine that I want to paint an image of a grey wintry afternoon in the arctic Sure there may be some blues purples in certain corners of the image but most of the image is gonna be white Or at least various shades of grey Then imagine that I tried to run my color matching algorithm against that image But I only used my base palette of heavy body acrylic paints Even though my base palette has more than colors most of those colors would be borderline useless I could just as well throw out my reds and oranges and greens Because there would probably be little in that image that would match well against them But if I had the right kind of palette to start from I could probably do some great color matching That palette would include many shades of grey Probably some dark blues and purples as well And if I had the right palette I actually wouldn t need that many colors in the image Maybe I could make a very convincing representation with nothing more than or colors But those or colors would all need to be in close proximity to the colors in the base image This is why it would be important to first be able to expand my palette so that it includes all those Whites and White etc But once all the color matching was done and I had a solid image it would be safe to go ahead and ratchet down the color depth to a core set of colors shades that I needed to faithfully recreate the image In the next installment Believe it or not this series is almost done I think I m just gonna add one more article where I show how I use Paint Map Studio to create my own personal paint by numbers grids 2023-03-02 02:18:28
海外科学 NYT > Science Opioid Distributors Cleared of Liability to Georgia Families Ravaged by Addiction https://www.nytimes.com/2023/03/01/health/opioid-victims-trial-georgia.html Opioid Distributors Cleared of Liability to Georgia Families Ravaged by AddictionThe case illustrates the enormous challenges that victims of the opioid crisis have had in getting compensation from the pharmaceutical industry despite its pledge of billions of dollars to state and local governments 2023-03-02 02:54:45
ニュース @日本経済新聞 電子版 Amazon系など米クラウドサービスの日本法人4社が、自治体職員やITベンダーの社員を無償で育成。背景にあるのは2025年度末に迫った自治体システム標準化です。4社としては、これを機にシェア拡大も狙います。 https://t.co/AWlrZAugAO https://twitter.com/nikkei/statuses/1631127235997450242 Amazon系など米クラウドサービスの日本法人社が、自治体職員やITベンダーの社員を無償で育成。 2023-03-02 03:00:12
ニュース @日本経済新聞 電子版 東京などの中小企業、6割が賃上げへ 日商暫定調査 https://t.co/BGPEClmeE7 https://twitter.com/nikkei/statuses/1631118780163330049 中小企業 2023-03-02 02:26:36
ニュース @日本経済新聞 電子版 デジタルツインで職場の動き把握 NEC系、在宅者も便利 https://t.co/MtxJlP8DDQ https://twitter.com/nikkei/statuses/1631118629235220484 職場 2023-03-02 02:26:00
ニュース @日本経済新聞 電子版 関東で「春一番」 昨年より4日早く https://t.co/6K1AdaSsgd https://twitter.com/nikkei/statuses/1631116751084699648 関東 2023-03-02 02:18:32
ニュース @日本経済新聞 電子版 出生数激減、自国民にも選ばれぬ日本 https://t.co/SH2PGIdeKl https://twitter.com/nikkei/statuses/1631113053692370945 自国民 2023-03-02 02:03:51
ビジネス ダイヤモンド・オンライン - 新着記事 中国の対ロ武器供与、ウクライナの戦況に影響も - WSJ発 https://diamond.jp/articles/-/318776 武器 2023-03-02 11:17:00
GCP Google Cloud Platform Japan 公式ブログ Broadcom、Google Cloud Armor を使用して DDoS 攻撃をブロック https://cloud.google.com/blog/ja/products/identity-security/how-google-cloud-armor-helps-broadcom-block-ddos-attacks/ GoogleCloudはこれらの機能をBroadcomに提供することができました。 2023-03-02 03:00:00
GCP Cloud Blog JA Broadcom、Google Cloud Armor を使用して DDoS 攻撃をブロック https://cloud.google.com/blog/ja/products/identity-security/how-google-cloud-armor-helps-broadcom-block-ddos-attacks/ GoogleCloudはこれらの機能をBroadcomに提供することができました。 2023-03-02 03:00:00

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)